0

PostgreSQL 9.1 に保存されている値を取得しようとしています。フィールド タイプは「タイム ゾーン付きタイムスタンプ」です。格納される値は「-infinity」です。JPA / Hibernate アノテーションを使用すると、奇妙な日付値が表示されます。私の Entity Java クラスは、日付を java.util.Date() として宣言しました。

JPA / HibernateがPGSQLから取得したJavaから日付を出力したときのSystem.outは次のとおりです。

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 年は異なります。

public class InfinityProducer {

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