JPA(Hibernate)列映射中的原始类和包装类之间有什么区别?

发布于 2024-08-27 15:25:20 字数 140 浏览 8 评论 0原文

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

For instance, there’s an integer column in a database table.
Then in java model, it can be mapped both as primitive int and Integer.
My question is what's difference between the int and Integer in this case? And performance concern?
Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花开柳相依 2024-09-03 15:25:20

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

I tend to avoid using primitives. This is especially true for the Id attribute. This makes it possible to detect a not yet set value by testing for null. If using Java 5 or above, auto-boxing takes away the pain (and is not a performance concern). But also for other attributes. As pointed out by @skaffman, primitives are not suitable for nullable columns and I prefer the code to be as flexible as possible.

傻比既视感 2024-09-03 15:25:20

您已经提到了区别 - Integer 可以是 nullint 不能。因此,如果您的数据库列可为空,那么您应该使用Integer

至于性能,我不会担心。现代虚拟机非常擅长此类事情。

You've already mentioned the difference - Integer can be null, int can't. So if your database column is nullable, then you should use Integer.

As for performance, I wouldn't worry about it. Modern VMs are very good at that sort of thing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文