JPA实体:从Oracle DATE列获取小时,分钟和秒
我有问题从Oracle DB获取完整的DATE信息(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.TIMESTAMP,但在这种情况下我还需要更改db中的列类型(我想避免)。
有什么建议么?
它的TemporalType.DATE
你需要TIME或TIMESTAMP。 DATE只是没有时间的日期。 TIMESTAMP表示为数字。
通过使用TIMESTAMP临时类型,您将获得java date数据类型的日期和时间部分,但Oracle将生成具有TIMESTAMP数据类型的列。 要解决此问题,如果需要DATE数据类型,可以使用列注释的columnDefinition参数,例如:
@Column(name = "MY_DATE_COLUMN", columnDefinition = "DATE") @Temporal(TemporalType.TIMESTAMP) private Date dateDetailed;