我在postgresql中有这个表
CREATE TABLE remise
(
id bigserial NOT NULL,
date_remise time without time zone
)
此代码通过eclipselink插入一行:
Remise rm = new Remise();
rm.setId(1L);
rm.setDateRemise(Calendar.getInstance().getTime()); //today
dao.begin();
dao.save(rm);
dao.commit();
在Remise Entity课程中我有这个字段的getter和setter:
@Column(name = "date_remise")
@Temporal(TemporalType.TIME)
private Date dateRemise;
一切看起来都不错,但我插入的日期就像只有时间和没有约会的日期!
在pgAdmin III中:" 03:16:03"
通过我的申请:" Thu Jan 01 03:16:03 WET 1970"
我正在使用:Postgresql 9.3,9.1-901-1.jdbc4,eclipselink 2.5.2。
需要你的帮助来解决这个问题。感谢。
答案 0 :(得分:0)
您需要使用没有时区的时间戳。
没有时区的时间只存储时间部分。
答案 1 :(得分:0)
谢谢araqnoon的正确回复,只需要一个精确的字段映射就可以了:
@Column(name = "date_remise")
@Temporal(TemporalType.TIMESTAMP)
private Date dateRemise;