Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么';在JPA(Hibernate)列映射中,原语类和包装类之间的区别是什么?_Java_Jpa_Wrapper_Primitive - Fatal编程技术网

Java 什么';在JPA(Hibernate)列映射中,原语类和包装类之间的区别是什么?

Java 什么';在JPA(Hibernate)列映射中,原语类和包装类之间的区别是什么?,java,jpa,wrapper,primitive,Java,Jpa,Wrapper,Primitive,例如,数据库表中有一个整数列。 然后在java模型中,它可以映射为基本int和整数。 我的问题是,在这种情况下,int和Integer之间有什么区别?和性能问题? 谢谢 您已经提到了差异-Integer可以是null,int不能。因此,如果数据库列可为空,则应使用Integer 至于表现,我不担心。现代虚拟机在这方面非常擅长。我倾向于避免使用原语。对于Id属性尤其如此。这使得可以通过测试null来检测尚未设置的值。如果使用Java5或更高版本,自动装箱可以消除痛苦(并且不是性能问题)。但也适用于

例如,数据库表中有一个整数列。 然后在java模型中,它可以映射为基本int整数。 我的问题是,在这种情况下,int和Integer之间有什么区别?和性能问题?
谢谢

您已经提到了差异-
Integer
可以是
null
int
不能。因此,如果数据库列可为空,则应使用
Integer


至于表现,我不担心。现代虚拟机在这方面非常擅长。

我倾向于避免使用原语。对于Id属性尤其如此。这使得可以通过测试
null
来检测尚未设置的值。如果使用Java5或更高版本,自动装箱可以消除痛苦(并且不是性能问题)。但也适用于其他属性。正如@skaffman所指出的,原语不适用于可为null的列,我希望代码尽可能灵活。

当然,我知道当原语int在数据库中遇到null值时,会发生异常。