これらの余分なクエリを削除するには、AFAIKを使用して、@Transactional
のすべての修飾子を削除してください。 注釈。分離レベルをREAD_COMMITED
に制限するために支払う価格 つまり、Hibernateは、データベースがダーティ状態にあるかどうかを判断するために、追加のクエリを実行する必要があります。 90%の場合、これらの修飾子は不要です。 Hibernateは、これらの制限を追加しようとせずにデータをクリーンにするのに非常に優れています。
分離がREAD_COMMITTED
であることを確認することがどうしても必要な場合 、余分なクエリについては何もできません。
StatelessSession
に移動する あなたが指摘した理由から、これらのクエリを取り除くことは悪い考えです。本当に、StatelessSession
を使用する唯一の正当な理由 挿入が行われている間は読み取られないことがわかっているデータの大規模なバッチ挿入用です。