无法通过eclipselink将日期插入postgresql

时间:2014-08-31 00:49:33

标签: postgresql datetime jpa eclipselink

我在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。
需要你的帮助来解决这个问题。感谢。

2 个答案:

答案 0 :(得分:0)

您需要使用没有时区的时间戳。

没有时区的时间只存储时间部分。

答案 1 :(得分:0)

谢谢araqnoon的正确回复,只需要一个精确的字段映射就可以了:

@Column(name = "date_remise")
@Temporal(TemporalType.TIMESTAMP)
private Date dateRemise;