java - id 的数据类型应该是什么?

标签 java types int integer entity

好吧,我有一个实体类 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 可以工作,但您应该使用对象类型 Integer 以避免在使用任何 jpa 存储库实现时出现问题。这是您可能面临的问题之一 Always use primitive object wrappers for JPA @Id instead of primitive type?

关于java - id 的数据类型应该是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61174717/

相关文章:

c++ - 在 C++ 中将 int 转换为 bool[]

java - 使用 jdbc 连接到远程数据库,验证凭据

java - 使用 JOOQ 具有两个字段的别名

java - 如何在servlet中下载jad文件的页面?

python - 显示为 Python 列表类型的 Matplotlib 图

c# - 将 double 转换为 int,它是四舍五入还是只是去掉数字?

java - 找不到符号,我做错了什么?

java - 如何在java中的 HashMap 中像sql中的LIKe运算符一样搜索

generics - Scala 中基类和所有派生类的模式匹配

sql - SQL Server 中数值、 float 和小数之间的区别