This question already has an answer here:
I'm using java, mysql, hibernate (3.6.x). On the java side I'm using java.sql.Timestamp objects. On the mysql side I'm using datetime columns.
I want hibernate to save/load these Timestamp objects using UTC time zone regardless of system/java/mysql time zone.
I found " How to store date/time and timestamps in UTC time zone with JPA and Hibernate " which was informative but lacking some final implementation info which I'm struggling to find.
I want to implement a UtcTimestampTypeDescriptor as shown in that thread and configure hibernate to use this instead of the normal TimestampTypeDescriptor.
How can I configure hibernate to use the UtcTimestamp type instead of the default Timestamp type?
An alternative to implementing custom Hibernate types is to add the following JDBC options to your JDBC connection URL:
This will force your JDBC connection into the UTC timezone and ask MySQL to perform conversions from the JVM timezone. The net effect is that you can keep a local timezone on your JVM (e.g. for printing out log messages and so forth), while DATETIME columns will be persisted as UTC.
For example:
get class
public class UtcTimestampType extends TimestampType
from your linkand make this code
using annotations
or
using *.hbm.xml