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

読み取り専用シノニムのフラッシュ時にHibernate自動更新を無効にする

    ほとんどの場合、エンティティはデータベースからロードされると同時に「ダーティ」になり、Hibernateは変更を保存する必要があると考えます。これは、アクセサ(getメソッドとsetメソッド)がまったく同じ値または参照を返さない場合に発生します。 それはHibernateによって設定されていました。

    私たちのコードでは、これはリストで発生しました。開発者は、セッターで取得したタイプが気に入らなかったため、新しいリストインスタンスを作成しました。

    コードを変更したくない場合は、マッピングをフィールドアクセスに変更してください。

    FlushModeをセッションでneverに設定することで、Hibernateが変更を保存しないようにすることもできますが、これは、他の状況で引き続き発生し、不要な更新につながる実際の問題を隠すだけです。



    1. SPRINGフレームワークでUncategorizedSQLExceptionとORACLEメモリの問題を生成するクエリを削除します

    2. 主キーと一意キーを使用したテーブルの予期しないロック

    3. MySQLは2つの列を結合し、新しい列に追加します

    4. データベースへの接続は成功したようですが、INSERTINTOはデータを送信しません