Persist Joda-time's DateTime via Hibernate

后端 未结 4 1251
没有蜡笔的小新
没有蜡笔的小新 2020-12-13 18:33

I\'m using Jodatime in my Play app, but currently having to do a bunch of converting back and forth from/to java.util.Date and java.sql.Time.

相关标签:
4条回答
  • 2020-12-13 18:44
    1. Joda recommends to use the UserType libraries with Hibernate 4.0, the version of Hibernate bundled with Play 1.2.x (see: http://joda-time.sourceforge.net/contrib/hibernate/index.html).

    2. The proper way to handle the dependency is using the dependencies.yml file, including a line like this:

      - org.jadira.usertype -> usertype.jodatime 2.0.1
      
    0 讨论(0)
  • 2020-12-13 18:48

    For Hibernate 3 add the following annotation to your date field:

    @Type(type="org.joda.time.contrib.hibernate.PersistentDateTime")
    

    Hibernate will now do the dirty work for you.

    (Make sure you have joda-time-hibernate.jar in your classpath)

    UPDATE:

    For Hibernate 4 and 5 add the following annotation:

    @Type(type="org.jadira.usertype.dateandtime.joda.PersistentLocalDateTime")
    

    (Make sure you have jadira-usertype-core.jar in your classpath)

    0 讨论(0)
  • 2020-12-13 18:59

    We should enable two jars in Hibernate 4 project:

    • compile("joda-time:joda-time:2.8")
    • compile("org.jadira.usertype:usertype.jodatime:2.0.1")
    0 讨论(0)
  • 2020-12-13 19:01

    Instead of putting the @Type annotation at each of your Joda properties you can add this in your jpa properties

    #Hibernate config
    jadira.usertype.autoRegisterUserTypes=true
    

    and it should work just fine.

    ps. jadira-usertype-core.jar should be in your classpath.

    0 讨论(0)
提交回复
热议问题