2012-12-18 66 views
0

我在Hibernate中混淆了inverse = true的一对多映射。Hibernate中的混淆反转

1.反向提供双向映射。我们把它放在收集侧,另一侧将采取船主。 2.反转和级联都用于不同的目的。

3.在Casecade中,所有的Hibernate都会在一次调用中保存父关联。

4.In Cascade = none我们需要拨打不同的电话来保存父母及其孩子。

5.在cascade = all和inverse = true的情况下,在一对多情况下会有一个更新查询更新约束。

但是在cascade = none的情况下inverse = true或inverse = false(在一对多中),我无法在sql查询中找到任何更改。

所以我的问题是在cascade = none的情况下,究竟是什么inverse = true。

回答

0

cascadeinverse ae正交概念。

inverse只是说这个关联是一个双向的关联,由关联的另一侧进行映射。它使对方成为该协会的主人。

只有关联的一方是所有者端,而Hibernate在持久时只考虑所有者端。这意味着如果实体a有一组包含b1,b2b3的Bs集合,但这些B实例都没有引用a作为它们的父节点,所以Hibernate将不会保留该关联,因为所有者方(B)说:I' m不与任何父母A连接。