java – 在数据库中存储joda-time datetime

我的应用程序已经使用Joda-time进行日期操作,计划在不久的将来升级到jsr 310.现在我需要使用jpa 2和hibernate在数据库中存储非常准确的时间戳,但java.util.Date不存储毫秒值.我找到了UserType,并像这样配置了我的e...

我的应用程序已经使用Joda-time进行日期操作,计划在不久的将来升级到jsr 310.

现在我需要使用jpa 2和hibernate在数据库中存储非常准确的时间戳,但java.util.Date不存储毫秒值.

我找到了UserType,并像这样配置了我的entitybean

    @Column( name = "TRANSACTION_TIME" )
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
private DateTime transactionTime;

但它仍然没有存储毫秒.

我在2010-11-02 12:02:54.945中通过,但当我找回它时,它是2010-11-02 12:02:54.000.

我还需要做些什么才能获得毫秒存储时间和可能的时区?

UPDATE
我刚检查过,毫秒实际上是在数据库中,但是Hibernate在返回的结果中没有包含它.相同的格式化程序打印了两个结果,因此无法格式化问题

解决方法:

这可能不是您想要的,但您可以将时间存储为数字(= epoch以来的毫秒数)而不是datetime字段.

本文标题为:java – 在数据库中存储joda-time datetime

基础教程推荐