JPA实体ID-long或Long
- 该ID是表的主键,在数据库中从不为“ null”。
- 我的同事建议使用“对象类型长”。
- 默认情况下,Hibernate反向工程工具会生成一个长为id的基本类型。
选择什么? 长还是长?
@Entity@Table(name = "COUNTRY")
public class CountryEntity implements java.io.Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "ID")
private long id;
@Column(name = "NAME")
private String name;
@Column(name = "CURRENCY")
private String currency;
@Column(name = "PEOPLE")
private Long people;
@Column(name = "SIZE")
private Long size;
public CountryEntity() {
}
回答:
我认为使用Long更好,因为通过检查该null
值来检查实体是否具有持久身份是更正确的(在MySQL中,您可以将ID设置为0)。另外,像Spring这样的某些库在其逻辑中也基于Long类型的ID(默认情况下)。有关示例,请参见此实现。
原语的小优点:占用的空间更少。
PS:根据JPA规范,两者都是正确且受支持的,并且此问题的答案以某种方式基于观点。
以上是 JPA实体ID-long或Long 的全部内容, 来源链接: utcz.com/qa/431098.html