有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在数据库中存储jodatime日期时间

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

现在我需要使用JPA2和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

我还需要做些什么来存储毫秒,可能还有时区

更新 我刚刚进行了检查,毫秒数实际上进入了数据库,但Hibernate没有将其包含在返回的结果中。同一个格式化程序打印了这两个结果,所以不会出现格式化问题


共 (2) 个答案

  1. # 2 楼答案

    这可能并不完全是您想要的,但您可以将时间存储为数字(=自历元起的毫秒),而不是日期时间字段