3

Hibernate + PostgreSQL で奇妙なバグが発生しています。

Firebird、MySQL、および Derby で以前にテストされた Hibernate 3.6 アプリケーションがあり、現在はそれを PosgreSQL 9.2 で動作させようとしています。以前のデータベースでは発生しなかったさまざまな奇妙な問題が発生しています。その中には、データベース内の null 値を持つnull許容ブール値フィールドが、Hibernate によってnullではなくtrueとしてロードされるというバグがあります。永続クラスの対応するプロパティはすべてjava.lang.Booleanであり、追加の注釈はありません。

この動作の原因について何か考えはありますか?

- - 編集 - -

最後に、より完全なデバッグを行う時間がありました。これは Hibernate エラーではなく、コードベースの隅に埋め込まれた LoadEventListener であることが判明しました。:P

とにかく、提案をありがとう。

4

3 に答える 3

1

まず、これが他のPostgreSQLバージョンのバグテストではないことを確認してください。

PostgreSQL 9.1で試しましたか?9.2それはかなり新しいです。9.1より安定しています。

Hibernateおよびその他の永続性フレームワークは、新しいSGBDバージョンがリリースされたときにいくつかのバグをスローします。

于 2012-12-14T20:51:37.133 に答える
0

最後に、より完全なデバッグを行う時間がありました。これは Hibernate エラーではなく、コードベースの隅に埋め込まれた LoadEventListener であることが判明しました。:P

とにかく、提案をありがとう。

于 2012-12-18T01:39:49.193 に答える
-1

私の唯一の推測は、PostgreSQL は null 値を「不明」として格納できるため、その値が java.lang.Boolean に変換されたときに何らかの形で「true」にマップされているということです。

しかし、完全な推測です。

于 2012-12-14T18:10:52.187 に答える