2013-10-09 38 views
0

我試圖獲取存儲在PostgreSQL 9.1中的值。字段類型是「帶時區的時間戳」。存儲的值是「-infinity」。當我使用JPA/Hibernate註釋時,它爲我提供了一個奇怪的日期值。 My Entity Java類已將日期聲明爲java.util.Date()。如何從PostgreSQL使用JPA檢索時間戳記值「-infinity」Hibernate

這裏是System.out,當我從JPA打印日期從JPA/Hibernate從PGSQL中檢索。

292269055-12-02 23:00:00.0 

這是我的Java實體的一個片段,顯示了我的日期類型的註釋。

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

我讀的地方,PostgreSQL的JDBC驅動程序能夠存儲和讀取存儲爲「負無窮大」和「無窮大」時間戳值。如果Hibernate/JPA不支持,那麼是否可以使用自定義轉換器來獲取這些值?

謝謝。

回答

1

你需要專門的Postgre Infinity嗎?否則,只需創建你自己的。無論如何,Java Date最大年份和Postgre Infinity Year都不盡相同。

public class InfinityProducer { 

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