我说的是一个分离的对象,稍后我想用 saveOrUpdate() 更新它。
我们如何同时设置 null 和 clear() 一个引用的集合?
A [1:1] B [1:M] C
B 到 C 的引用可以为空,这意味着没有 C 对 B 的记录。
现在我希望能够同时将 B 设置为 null,以便从数据库中删除所有 C 记录。然后 saveOrUpdate A !
级联设置为全部休眠,包括删除孤儿。
我可以 B.clear(),它将删除 C 中的所有记录。
我可以将 B 设置为 null,这会将 B 设置为 null,但 C 记录不会被删除!(真可惜!确实不方便!)
那么如何?
实际情况很奇怪。
我在 2 个事务中看到了解决方法。First trans:清除一个集合。提交事务。
现在所有的 C 记录都被删除了。
第二笔交易:A.setB(null)。犯罪。这会将一个字段设置为 NULL。
但是如何一步到位呢?