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

回到顶部