如何使用Hibernate 3.3.2GA将TIMESTAMP WITH TIME ZONE映射到Java数据类型?

时间:2010-11-02 14:13:18

标签: java oracle hibernate orm sqldatatypes

如何使用TIMESTAMP WITH TIME ZONE 3.3.2GA将Oracle列类型TIMESTAMP WITH LOCAL TIME ZONEHibernate映射到Java数据类型?我可以将每个数据映射到DateCalendar数据类型吗?

1 个答案:

答案 0 :(得分:4)

使用joda-time。它有一个extension for hibernate

@Columns(columns={@Column(name="startTime"),@Column(name="startTimezone")})
@Type(type="org.joda.time.contrib.hibernate.PersistentDateTimeTZ")
private DateTime startDateTime;

但首先要确保你真的需要存储时区。更好的做法是将时间存储在固定的TZ(例如,UTC)中,并根据当前用户首选项显示它们。人们对他们的时区中的事件时间感兴趣,而不是对事件源的时区感兴趣。