您实体的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(默认情况下)。有关示例,请参见此实现。
null
原语的小优点:占用的空间更少。
PS:根据JPA规范,两者都是正确且受支持的,并且此问题的答案以某种方式基于观点。