Joda time DateTime incorrectly stores in database
grails, grails-orm, groovy, hibernate, jodatime
Solution
Ok. I have spend 8 hours to solve the problem. If your are using usertype project to persist JodaTime, you have to set `databaseZone` property of `PersistentDateTime` class equals to current application server timezone (not database!).
But it's better to use official hibernate support. It solves the problem out of the box because it uses `java.utl.Date` to persist `DateTime` and `java.util.Date` correctly persisted by default
Problem
I'm storing JodaTime `DateTime` field to `timestamptz` column by using `org.jadira.usertype:usertype.jodatime:1.9`. App server has +4 time zone. DB server +9 time zone. `new DateTime()` results in `${currentTime+1hour}+9` where +9 is time zone (correct value is `${currentTime+5hours)+9`). I haven't found any related topics. `java.util.Date` stores correctly. Domain object has the following mapping property: ``` static mapping = { dateCreated sqlType:'timestamptz' } ``` How can I store DateTime correctly?