gpt4 book ai didi

jodatime - 将 Joda-Time 转换为 Hibernate 4 的 Jadira

转载 作者:行者123 更新时间:2023-12-02 08:39:11 26 4
gpt4 key购买 nike

我收到了一个遗留的 Spring Hibernate DAO 项目,它是 Spring 3.2.0 和 Hibernate 3.5。我将它向上游转换为 Spring 3.2.3.RELEASE 和 Hibernate 4.2.3.Final。

问题是他们使用 Joda-Time 将日期/时间持久化到数据库中,但从我在这里读到的内容来看,joda-time-hibernate 1.3 不适用于 Hibernate 4,但仅适用于 3。因此,我查看了推荐的库,并花了很多时间将 Joda.DateTime 转换为 jadira.PersistentDateTime,但我发现 Jadira ... 恕我直言并不能很好地满足我的需求。是的,我可以从数据库中提取对象,这些是 Jadira PersistentDateTime 字段,效果很好。

但是,我们在 joda-time 中使用了很多很多很多日期计算,一个用于添加天数、删除天数、天数之间的差异、计算之前、之后,等等。

所以...我想知道...我可以将 joda.DateTime 与 jadira.PersistentDateTime 相互转换吗????我还发现 Jadira 的文档不存在,我发现那里几乎没有好的文档。如果有人可以向我指出此文档,那就太好了。

另一方面,因为我现在使用的是 Hibernate 4,所以我认为对我的持久对象使用标准的 java.util.Date 没有问题。

我应该坚持使用 jadira,值得吗?或者我应该将标准可靠的 java.util.Date 与 GregorianCalendar 一起使用吗?我倾向于后者,因为它应该比一些奇特的第三方软件包更稳定可靠。

谢谢! 汤姆

最佳答案

如果您返回 java.util.Date,您的同事可能会非常不高兴! :-)

Jadira 与 Hibernate 4 配合得很好。我认为您必须了解它是如何工作的。 Jadira 为 Hibernate 添加了用户类型映射,以允许 Hibernate 直接将其他类型作为标准(如 String、Integer、Boolean 等)持久化。

你通常会做这样的事情:

@Column
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentLocalDateTime")
private LocalDateTime updated;

user guide 中查看更多信息.

关于jodatime - 将 Joda-Time 转换为 Hibernate 4 的 Jadira,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18153153/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com