我有映射到一個postgre表time without time zone
列LocalTime
場持久的實體,我填充這個領域我的應用程序是這樣的:jodatime和休眠支持更改時區
int hour = 10
int minutes = 12
MyEntity e = new MyEntity()
e.setTime(new LocalTime(hour, minutes));
然後我堅持實體在數據庫上使用休眠,稍後在應用程序中檢索實體並顯示時間字段,它正確顯示10:12
,但是當我看到表上的值(使用pg-admin)時,它顯示:04:12
它應該是10:12
,在我的jvm和我的系統中的時區是CST(UTC-6),在我看來,冬眠或喬達泰時間的某個地方是我的時間字段開始轉換爲我的時區,當插入到數據庫和檢索值時,我即時更正?是有防止使用JRE 1.6.0_22此behaivor ?, IM的任何方式,冬眠3,約達時間1.5.1和喬達 - 時間 - 冬眠1.2
編輯: 忘記提到該字段被映射在休眠:
type="org.joda.time.contrib.hibernate.PersistentLocalTimeAsTime"
yay,jon向救援團隊求助=),只需要提一下在Hibernate項目的usertype中使用org.jadira.usertype.dateandtime.joda即可。作爲映射文件中的類型,PersistentLocalTime可以有效地解決此問題。 – Harima555 2010-12-11 22:05:55