我正在尝试获取存储在PostgreSQL 9.1中的值。字段类型是“带时区的时间戳”。存储的值是“-infinity”。当我使用JPA / Hibernate注释时,它为我提供了一个奇怪的日期值。 My Entity Java类已将日期声明为java.util.Date()。
当我从Java打印我的日期,JPA / Hibernate从PGSQL检索时,这是System.out。
292269055-12-02 23:00:00.0
以下是我的Java实体的片段,显示了我日期类型的注释。
@Column( name = "from_date")
private Date from_date;
我在某处读过PostgreSQL的JDBC驱动程序可以存储和读取存储为“-infinity”和“infinity”的时间戳值。如果Hibernate / JPA不支持,那么可以使用自定义转换器来获取这些值吗?
感谢。
答案 0 :(得分:1)
你需要专门的Postgre Infinity吗?否则只需创建自己的。无论如何,Java Date最大年份和Postgre Infinity年份都不同。
public class InfinityProducer {
public Date getInfinity() {
Date date = new Date();
date.setYear(292278994);
return date;
}
}