java JPA实体:从Oracle日期列获取小时、分钟和秒
我无法从Oracle数据库(dd/mm/yyyy hh/mm/ss)获取完整的日期信息
在db级别,在我想要接收的列中,我设置了测试值:
update my_table
set my_date_column=(to_date('2011-06-15 15:43:12', 'yyyy-mm-dd hh24:mi:ss'));
但在我的JPA实体中,我有:
@Column(name = "MY_DATE_COLUMN")
@Temporal(TemporalType.DATE)
private Date dateDetailed;
public Date getDateDetailed() {
if (this.dateDetailed!= null) {
return this.dateDetailed;
}
return null;
}
public void setDateDetailed(Date dateDetailed) {
if (dateDetailed!= null) {
this.dateDetailed= dateDetailed;
} else {
this.dateDetailed= null;
}
}
每次我访问我的对象时,它都会给我一个没有小时、分钟和秒的日期
我试着用TemporalType。时间戳,但在这种情况下,我还需要更改db中的列类型(我希望避免)
有什么建议吗
# 1 楼答案
通过使用时间戳时态类型,您将获得java日期数据类型的日期和时间部分,但Oracle将使用时间戳数据类型创建一列。要解决此问题,如果需要日期数据类型,可以使用列批注的columnDefinition参数,例如:
# 2 楼答案
它是
TemporalType.DATE
您需要时间或时间戳。日期只是没有时间的日期。时间戳表示为一个数字