MySQLの場合のみ 、カスタムHibernateタイプを実装する代わりに、次のJDBCオプションをJDBC接続URLに追加することもできます。
useTimezone=true
serverTimezone=UTC
これにより、JDBC接続がUTCタイムゾーンに強制され、MySQLにJVMタイムゾーンからの変換を実行するように要求されます。正味の効果は、JVMでローカルタイムゾーンを維持できることです(たとえば、ログメッセージの印刷など)が、DATETIME列はUTCとして保持されます。
例:
<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>
...