2016-04-23 43 views
0

任何人都可以向我解释belongsTo在ManyToMany关系中的用途是什么?对于OneToOne关系,很明显:如果删除“OneToMany”一侧(主表)的记录,则删除相应的“ManyToOne”(子表)也是[CASCADE],但我们无法应用相同的事情在许多ManyToMany关系的情况下,因为一个子记录可能属于主表中的许多记录,谢谢manyToMany集合中的“belongsTo”实用程序

回答

1

与一对多一样,向一方添加项目涉及调用addTo*()方法。一方负责管理收集。它提供了添加/删除项目的方法。

这对于多对多来说并没有什么不同,一方必须管理收集。不同之处在于GORM/Hibernate无法知道使用哪一方;技术上任何一方都可以这样做,但只有一方可以。所以你必须使用belongsTo来决定。这就是为什么Grails文档中说一方必须拥有的关系。总之,这是一个休眠的事情。

+0

谢谢,但是当有关系类(= manyToMany变成两个oneToMany)时,不需要belongsTo对吗? – hereForLearing

+1

正确。就GORM而言,如果你走这条路线,你就有两个一对多的关联。它不会把它看作是多对多的。 –

+0

非常感谢你! – hereForLearing