我在保存数据时遇到问题。需要在我的实体中有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。尝试了很多事情。 是否有可能在实体中保存日期(不是长格式)?
答案 0 :(得分:1)
我不是百分百肯定,但我认为您需要使用java.sql.Timestamp
。它有一个构造函数,以毫秒为单位:
new java.sql.Timestamp(calendar.getTime().getTime());
然后在您的界面上,使用Timestamp而不是Date。
答案 1 :(得分:1)
在postgresql中找到旧表,删除它们并生成新表。 +使用时间戳而不是日期。现在它有效。