0

Oracle Dates で問題が発生しました。OracleDB に挿入した後、Java アプリケーションの事前定義された日付が異なるようです。

JPA エンティティ経由で挿入:

entity.setDateOfCreation(new Date(System.currentTimeInMillis())); 
// 1350565985000

コミットして取得した後:

entity.getDateOfCreation() // 1350565985047

なぜこれが違うのですか?

オラクルは、特定の日付オブジェクトをこれらの正確なミリ秒でデータベースに挿入するだけだと思いました。しかし、明らかにそうではありません。遅延が最小限であるため、指定された Date を独自の Date でミリ秒単位で「上書き」しているように見えます (@GeneratedValue は使用していませんが)。

4

1 に答える 1

0

使用しているテーブルには、その列にデータを入力するトリガーがありますか? そうなることを願っています。アプリサーバーとデータベースの間の時間差で、過去に多くの問題を経験しました。状態全体で一貫したタイミングを保証する単一の時間を持つ方がはるかに優れています。

于 2012-10-18T13:29:50.037 に答える