Nur für MySQL , besteht eine Alternative zur Implementierung benutzerdefinierter Hibernate-Typen darin, die folgenden JDBC-Optionen zu Ihrer JDBC-Verbindungs-URL hinzuzufügen:
useTimezone=true
serverTimezone=UTC
Dadurch wird Ihre JDBC-Verbindung in die UTC-Zeitzone gezwungen und MySQL aufgefordert, Konvertierungen von der JVM-Zeitzone durchzuführen. Der Nettoeffekt besteht darin, dass Sie eine lokale Zeitzone auf Ihrer JVM beibehalten können (z. B. zum Ausdrucken von Protokollmeldungen usw.), während DATETIME-Spalten als UTC beibehalten werden.
Zum Beispiel:
<bean id="hibernateAnalysisSessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="hibernateProperties">
<props>
<!-- Connection parameters -->
<prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop>
<prop key="hibernate.connection.url">jdbc:mysql://hostname/databaseName?useTimezone=true&serverTimezone=UTC</prop>
...