データを取得し、データを挿入し、1 つのテーブルを更新するトランザクションがあります。この更新されたテーブルは Oracle のロックを引き起こしているため、このトランザクションから更新を取り出し、プロセスの最後に新しいトランザクションを開始して更新を行いたいと考えています。
したがって、現在、結合で更新されたテーブルを取得し、オブジェクト内の一部のデータを更新してから、トランザクションの最後に、休止状態が魔法を実行してテーブルを更新します。トランザクションの開始時にデータを取得し、オブジェクトをデタッチし、オブジェクト内のデータを更新してから、新しいトランザクションで merge() を実行するように変更したいと思います。可能?HibernateTemplate には detach() メソッドがないため、デタッチする方法がわかりません。
これが問題かどうかはわかりませんが、1 対 1 の関連付けがあります。
<one-to-one name="itmInstSum" class="dds.tmatic.domain.ItmInstSum" fetch="join" />
何か案は?デタッチを理解していませんか?私は evict() がキャッシュまたは何かからそれを削除すると信じていますが、それは私がやりたいことではありません...