sql >> データベース >  >> RDS >> Oracle

Hibernateは古いデータをhibernate.jdbc.batch_versioned_dataで保存します

    Oracleドライバは正しい行数を返す必要があります。そうでない場合、私は驚かれることでしょう。ドライバからの結果が正しいことを確認できましたか?Hibernateログをオンにしてこれを確認できます。

    確認すべき点がいくつかあります:

    1. DBに送信されている実際のSQLをログに記録し、バージョン列がwhere句に記載されていることを確認します。 SQLがバッチ処理をオンにしたHibernateロギングによってログに記録されるかどうかわからない場合は、SQLをログに記録する別の方法(p6spyなど)に頼らなければならない場合があります

    2. 同時更新中に行数が正しく返される場合、アプリケーションは正常に機能しています。バージョン列の値が更新されて修正されていることを確認して、これを確認します。

    更新 次のリンクによると、この問題は11gまでOracleドライバーに存在し、バージョン12cで修正されました

    https://hibernate.atlassian.net/browse/HHH-3360

    以前のOracleバージョンには、役立つはずの追加情報がいくつかあります。つまり、カスタムソリューションが提供されています。

    その他のリソース: https://hibernate.atlassian.net/browse/HHH-5070 >




    1. Oracle PL/SQLをPostgresqlPL/pgSQLに変換するためのツール

    2. 日時の日付部分だけに一意の制約を作成する方法は?

    3. 長い文字列を保存するMySQLの最良の方法

    4. 日付順に並べられた既存のテーブルに自動増分列を追加します