我的实体当前包含 java Date 属性。我开始经常使用 Joda Time 进行日期操作和计算。这意味着我必须不断地将日期转换为 Joda DateTime 对象,然后再转换回来。
所以我想知道,是否有任何理由我不应该只更改实体来存储 Joda DateTime 对象而不是 Java Date 对象?
请注意,这些实体是通过 Hibernate 持久保存的。我找到了jodatime-休眠 http://www.joda.org/joda-time-hibernate/项目,但我还在 Joda 邮件列表上读到它与较新版本的 hibernate 不兼容。而且看起来维护得不太好。
所以我想知道是否最好继续在 Date 和 DateTime 之间进行转换,或者开始持久化 DateTime 对象是否明智。我担心的是依赖一个维护不善的图书馆。
编辑:请注意,我的目标之一是能够更好地存储时区信息。仅存储日期似乎是将日期保存在本地时区中。由于我的应用程序可以在全球范围内使用,因此我还需要知道时区。 Joda Time Hibernate 似乎也解决了这个问题用户指南 http://www.joda.org/joda-time-hibernate/userguide.html.
Joda Time Hibernate 可以与最新的 Hibernate 版本一起使用 - 您可能需要稍微调整您的依赖关系图(仅此而已)(例如设置排除)。我还可以建议您查看我已发布到 Sourceforge 上的用户类型吗?这提供了 Joda Time 的用户类型,旨在避免您提到的客户端偏移问题。我欢迎您对该项目提出任何反馈。https://sourceforge.net/projects/usertype/files/ https://sourceforge.net/projects/usertype/files/
问候克里斯。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)