一、映射 Mapping
1. uniqueConstraints
uniqueConstraints = {@UniqueConstraint(columnNames = {"num", "antId"})}
2. 关联
3. ID
- 自增长 ID
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
2 UUID
4. 统一基础类
用于存放一些所有实体都需要的属性
@MappedSuperclass
@Data
public class BaseBean {
private LocalDateTime createDate;
private LocalDateTime updateDate;
}
5. 继承关系映射
@Entity(name = "Account")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@Table(name="tab_account")
public static class Account {
...
}
@Entity(name = "DebitAccount")
public static class DebitAccount extends Account {...}
@Entity(name = "CreditAccount")
public static class CreditAccount extends Account {...}
strategy InheritanceType:
- SINGLE_TABLE
- JOINED
- TABLE_PER_CLASS
注意事项: HQL 应使用注解(@Entity(name = "DebitAccount")
)中使用的名字,而非类名。