Grails GORM中的单向M:M

时间:2014-03-26 18:25:11

标签: grails gorm

是否可以在Gorm中使用单向M:M?

e.g。 我有一个Person对象,我有TravelDestionion个对象。

一个人可以去过很多旅游目的地,其中一些旅游目的地当然有很多人。但是,我从不想从TravelDestination导航到Person。

任何提示?

1 个答案:

答案 0 :(得分:1)

从技术上讲,你可以不访问另一方,但Grails在这方面太有帮助了。例如,当您想要将新的TravelDestination实例与Person相关联时,可以将其添加到此人的destinations集合(或您为其命名的任何内容)中。但为确保双方在调用save后与数据库的内容保持同步,Grails会将Person添加到TravelDestination的{​​{1}}集合中

这显然可能非常昂贵,例如用户< - >角色关系,其中1,000,000个用户拥有ROLE_USER,另外一个拥有该角色,该用户在角色的用户集合中成为元素#1,000,001,由Hibernate加载到内存中以确保唯一性。

查看此演示文稿,我将对此进行讨论,并提供一些重新配置关系的高性能选项,而不会在GORM中使用集合代表1-many和many-many的潜在巨大开销:http://www.infoq.com/presentations/GORM-Performance