A には、B と多対 1 の双方向関係があります。A にはカスケード マージ & デタッチがあります。A は所有エンティティです。
- A は管理され、B は分離されています。自動コミット- 機能しませんでした。トランザクションがコミットされた後、どの As も更新されませんでした
- B がデタッチされている間に A がデタッチおよびマージされる - 原因となる楽観的ロック例外
- B がまだ管理されている間に、A が切り離されてマージされます - 機能しませんでした。412 As を更新してみました。412 のうち 395 だけが更新されました (奇妙な!)。B を初めてロードする原因となる A が更新されていないことが確認されています。
A が管理され、B が管理されます。自動コミット - 働いた
- managed - em.detach() や em.merge() への明示的な呼び出しはありません
- 切り離された - em.detach()
- マージ済み - em.merge()
- 切り離された - em.detach()
- 自動コミット - em.merge() を呼び出さない
関係は両側で更新されました。
最初の 3 つのケースがわかりませんでした。専門家からの説明に感謝します。