【发布时间】:2010-04-02 06:36:36
【问题描述】:
例如,数据库表中有一个整数列。 那么在java模型中,它可以映射为primitive int和Integer。 我的问题是在这种情况下 int 和 Integer 有什么区别?和性能问题? 谢谢!
【问题讨论】:
-
当然,我知道当原始int遇到数据库中的null值时会发生异常。
标签: java jpa wrapper primitive
例如,数据库表中有一个整数列。 那么在java模型中,它可以映射为primitive int和Integer。 我的问题是在这种情况下 int 和 Integer 有什么区别?和性能问题? 谢谢!
【问题讨论】:
标签: java jpa wrapper primitive
我倾向于避免使用原语。对于 Id 属性尤其如此。这使得通过测试null 来检测尚未设置的值成为可能。如果使用 Java 5 或更高版本,自动装箱消除了痛苦(并且不是性能问题)。但也适用于其他属性。正如@skaffman 所指出的,原语不适用于可空列,我希望代码尽可能灵活。
【讨论】:
您已经提到了区别 - Integer 可以是 null,int 不能。因此,如果您的数据库列可以为空,那么您应该使用Integer。
至于性能,我不会担心。现代虚拟机非常擅长这类事情。
【讨论】: