好,所以我有一个实体类Person:
@Table(name = "person")
public class Person {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.AUTO)
private int id; // -------> Integer or int??
@Column(name = "managerID")
private int managerID;
@Column(name = "name")
private String name;
@Column(name = "externalID")
private UUID externalID;
public Person(long managerID, String name) {
this.managerID = managerID;
this.name = name;
this.externalID = UUID.randomUUID();;
}
}
理想情况下,实体ID的数据类型应该是什么,我正在使用SQL(RDBMS)。应该是int还是Integer?和id Integer,int会引起什么问题?
只需使用原始的int
类型。当该字段自动递增时,永远不会出现该字段为null的情况。如果丢失,则无法使用SELECT ... WHERE id = ...
引用具有其ID的行,因此不是有效记录。