【问题标题】:How to retrieve timestamp value "-infinity" from PostgreSQL using JPA Hibernate如何使用 JPA Hibernate 从 PostgreSQL 检索时间戳值“-infinity”
【发布时间】:2013-10-17 01:17:30
【问题描述】:

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

当我从 Java 中打印出 JPA/Hibernate 从 PGSQL 检索的日期时,这是 System.out。

292269055-12-02 23:00:00.0

这是我的 Java 实体的 sn-p,显示我的日期类型的注释。

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

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

谢谢。

【问题讨论】:

    标签: java hibernate postgresql jpa


    【解决方案1】:

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

    public class InfinityProducer {
    
      public Date getInfinity() {
         Date date = new Date();
         date.setYear(292278994);
         return date;
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2015-10-15
      • 2013-06-20
      • 2023-01-13
      • 2022-11-20
      • 2012-05-07
      • 1970-01-01
      • 2012-05-23
      • 2021-02-21
      • 2014-11-21
      相关资源
      最近更新 更多