net.java.ao.Entity中的java.util.Date

时间:2013-09-16 16:07:35

标签: java postgresql date calendar entity

我在保存数据时遇到问题。需要在我的实体中有Date字段,但是会收到错误

org.postgresql.util.PSQLException: ERROR: column "TIME" cannot be cast to type timestamp without time zone

我的实体:

public interface ActivityDays extends Entity{

    String getKey();
    void setKey(String key);
    String getUsername();
    void setUsername(String userName);
    Date getDate();
    void setDate(Date Date);
}   

使用

创建日期
Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getDefault());
Date date = calendar.getTime();

我知道Date(与Timestamp相同)没有Timezone。尝试了很多事情。 是否有可能在实体中保存日期(不是长格式)?

2 个答案:

答案 0 :(得分:1)

我不是百分百肯定,但我认为您需要使用java.sql.Timestamp。它有一个构造函数,以毫秒为单位:

new java.sql.Timestamp(calendar.getTime().getTime());

然后在您的界面上,使用Timestamp而不是Date。

答案 1 :(得分:1)

在postgresql中找到旧表,删除它们并生成新表。 +使用时间戳而不是日期。现在它有效。