Reputation: 27926
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
.
Since jodatime is included in the Play distribution, I'm thinking there's probably a better way to do this. Is there any way I can make my Model fields DateTime
s instead of java.util.Date
and java.sql.Time
so the conversion is done automatically? Is there another way of streamlining this?
Upvotes: 43
Views: 32365
Reputation: 7195
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)
Upvotes: 54
Reputation: 29
We should enable two jars in Hibernate 4 project:
Upvotes: 0
Reputation: 37993
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.
Upvotes: 7
Reputation: 1667
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).
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
Upvotes: 10