答案 0 :(得分:1)
我不确定,但我认为您必须使用OracleConnection.setSessionTimeZone(String regionName)
方法来设置会话时区。
要在Hibernate处理它之前在OracleConnection
上执行此操作,最简洁的方法是提供和使用o.h.c.ConnectionProvider
的自定义实现。
请参阅此related question。
答案 1 :(得分:0)
Hibernate不允许通过注释或任何其他方式指定时区。如果使用日历而不是日期,则可以使用HIbernate属性AccessType实现变通方法并自行实现映射。更高级的解决方案是实现自定义UserType以映射日期或日历。这篇博客文章中解释了这两种解决方案:http://dev-metal.blogspot.com/2010/11/mapping-dates-and-time-zones-with.html