映射文件中的Hibernate'Inverse'

Noo*_*oor 3 java sql database postgresql hibernate

有人可以解释在xml映射文件中使用inverse,我正在阅读教程但是没有理解它在映射文件中的使用?

谢谢

Abh*_*nia 7

Inverse只决定关系中的哪个实体负责更新数据库以反映关联.

假设一对多的双向关联.代码A和B中有两个类,A包含一组B,B维护对A的引用.在数据库级别,只有一个外键需要更新,B表包含一个主键列A.

在这种情况下,假设我们在设置端放置inverse = true.这意味着只需向集合中添加实体就不会触发外键更新.因为更新外键的可靠性取决于B.因此,将B对象添加到A维护的集合不足以更新外键列.objectA.addToSetOfB(objectB)不会影响外键.

仅当B被赋予对A的引用时,才会更新B表中的外键.因此,objectB.setA(objectA)肯定会更新外键并实际设置关系.

我认为同样的概念也会带来多对多的关系.