我想知道当我这样做到底发生了什么:上保存更新的级联顺序级联和反持久性图形
Person p1 = new Person();
...
p1.save()
的条款。
这里有一些必备的推理,我想知道,如果他们是正确的:
a)如果人体有一定至少一个与“逆= FALSE(默认)的关系,它会首先做所有的级联,最后坚持p1本身。 (因为它可能是FK身份尚未知道)
b)如果Person具有所有关系与'inverse = true',它可以先保存p1然后再进行级联。
c)假设我们有一个Person < - >汽车一到一个双向的关系,并在这两个,我们有“反= FALSE”和“保存更新”级联:
C.1)什么会发生?。这似乎是一个无限循环的情况。
C.2)正确的解决方案是人做“级联=保存更新”与逆= true,并且在车没有做级联和逆=假?
这样做级联的顺序以及如何“逆”财产参与可以帮助我的决定背后的真正逻辑可能的进一步联系。
在此先感谢
如果A具有FK到B和我做A.Save()?如果首先保存A,Hibernate如何知道B键,它必须允许空值?...我怎么能避免这种情况? –
你问关于级联和反向工作。这两件事独立工作。级联在保存之后,反转仍然可以不级联地工作。 [查看此示例](http://www.mkyong.com/hibernate/inverse-true-example-and-explanation/) – Angga
但“逆”工作不可能在保存完成的。它在瀑布之前或之后很重要。 –