A与B具有多对一的双向关系。A具有级联合并和分离。A 是拥有实体。
- A 被管理,B 被分离;自动提交- 没有工作;事务提交后没有任何 As 得到更新
- A分离并合并,而B分离 - 导致乐观锁异常
- A 被分离和合并,而 B 仍在管理 - 没有工作;尝试更新 412 As。412 个(奇怪!)中只有 395 个被更新。可以观察到,任何导致第一次加载 B 的 A 都没有更新
A是托管的,B是托管的;自动提交 - 工作
- 托管 - 没有显式调用 em.detach() 或 em.merge()
- 分离 - em.detach()
- 合并 - em.merge()
- 分离 - em.detach()
- 自动提交 - 不调用 em.merge()
双方的关系都更新了。
我不明白前3个案例。感谢专家的任何澄清。