0

我正在尝试获取存储在 PostgreSQL 9.1 中的值。字段类型是“带时区的时间戳”。存储的值是“-infinity”。当我使用 JPA / Hibernate 注释时,它为我提供了一个奇怪的日期值。我的 Entity Java 类已将日期声明为 java.util.Date()。

这是我从 Java 打印我的 Date 时的 System.out,JPA / Hibernate 从 PGSQL 检索。

292269055-12-02 23:00:00.0

这是我的 Java 实体的片段,显示了我的日期类型的注释。

    @Column( name = "from_date")
    private Date    from_date;

我在某处读到 PostgreSQL 的 JDBC 驱动程序可以存储和读取存储为“-infinity”和“infinity”的时间戳值。如果 Hibernate / JPA 不支持,是否可以使用自定义转换器来获取这些值?

谢谢。

4

1 回答 1

1

您是否特别需要 Postgre Infinity?否则,只需创建自己的。Java Date 最大年份和 Postgre Infinity Year 无论如何都是不同的。

public class InfinityProducer {

  public Date getInfinity() {
     Date date = new Date();
     date.setYear(292278994);
     return date;
  }
}
于 2013-10-09T15:57:15.720 回答