@Entity
public class MyEntity {
@Id
@Column()
private String prKey;
//....
}
哪个数据类型可以用来在Hibernate/JPA中创建主键变量?
根据hibernate文档:
简单标识符映射到单个基本属性,并使用
javax.persistence.Id
注释表示。根据JPA,只有以下类型应该用作标识符属性类型:
- 任意Java原语类型
- 任何原始包装类型
- 以
- java.util。日期(TemporalType #日期)
- java.sql.Date
- java.math.BigDecimal
- java.math.BigInteger
超出此列表的标识符属性的任何类型都将不可移植。
Hibernate也支持java.util.UUID
作为标识符。
您可以使用java原语或原语包装器来定义您的Id类型。如果您没有任何特殊要求,如组合键等……最简单的解决方案是使用Long
作为密钥。
@Id
@GeneratedValue
@Column(name = "ID")
private Long id;