如何使用eclipseLink只保留时间?

时间:2013-04-21 12:41:20

标签: persistence eclipselink

我的oracle 11g数据库表中有一个timestamp属性。我从表生成JPA实体,并将timestamp属性创建为日期实体。我只想将时间值存储和检索到数据库中。这该怎么做?我正在使用eclipseLink2.4

1 个答案:

答案 0 :(得分:0)

您可以使用@Temporal(TemporalType.TIME)注释

@Temporal(TemporalType.TIME)
private Date value;

然后只应将时间部分存储到数据库中。

如果您使用JPA Criteria API创建查询,则应确保现有数据的Date部分为零。即在Oracle数据库上,如果查询select to_char(timecolumn,'dd.mm.yyyy hh24:mi:ss') from sometable之类的数据,结果应该类似于"01.01.1970 XX:XX:XX"。通常,如果您使用JPA将时间值存储为TemporalType.TIME,那么它将为您处理。如果日期部分不为零,则可能无法比较时间字段。