我的oracle 11g数据库表中有一个timestamp属性。我从表生成JPA实体,并将timestamp属性创建为日期实体。我只想将时间值存储和检索到数据库中。这该怎么做?我正在使用eclipseLink2.4
答案 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
,那么它将为您处理。如果日期部分不为零,则可能无法比较时间字段。