私のアプリケーションは、ソケット接続を介して頻繁にリモートイベントを受信し、それぞれが新しいスレッドを開始します。その後のアクションにより、同じオブジェクトグラフがトリガーされ、1つのロックされた静的セッションで毎回保存されます。ただし、その保存が実行されている間に、同じオブジェクトグラフに新しい要素を追加する新しい更新が受信されることがあります。これが例外の理由であると私は信じています:
TransientObjectException
object references an unsaved transient instance -
save the transient instance before flushing.
それが理由なら、それは理解できます。しかし、どうすればこの例外を防ぐことができますか?トランザクションをロールバックさせると、StaleStateObject、NonUniqueObjectExceptionなどの後続の例外が発生します。
では、これをどのように処理または防止できますか?