Grails GORM中的单向M:M

Grails GORM中的单向M:M,grails,gorm,Grails,Gorm,在Gorm中是否可能有一个单向M:M e、 g。 我有一个Person对象和一个traveldestinion对象 一个人可能去过很多旅游目的地,其中一些旅游目的地当然有很多人。但是,我从来不想从一个旅行目的地到另一个人 有什么提示吗?从技术上讲,您不能访问另一面,但Grails在这方面太有帮助了。例如,当您想将一个新的TravelDestination实例与一个Person关联时,您可以将其添加到该Person的destinations集合(或任何您命名的集合)。但为了确保调用save后,双方

在Gorm中是否可能有一个单向M:M

e、 g。 我有一个
Person
对象和一个
traveldestinion
对象

一个人可能去过很多旅游目的地,其中一些旅游目的地当然有很多人。但是,我从来不想从一个旅行目的地到另一个人


有什么提示吗?

从技术上讲,您不能访问另一面,但Grails在这方面太有帮助了。例如,当您想将一个新的
TravelDestination
实例与一个
Person
关联时,您可以将其添加到该Person的
destinations
集合(或任何您命名的集合)。但为了确保调用
save
后,双方都与数据库的外观保持同步,Grails将
Person
添加到
TravelDestination
persons
集合中

这显然是非常昂贵的,例如,在用户-角色关系中,1000000个用户拥有Role_User,另外一个用户获得该角色,该用户成为角色的users集合中的元素#1000001,该元素通过Hibernate加载到内存中以确保唯一性


查看本演示文稿,我在其中对此进行了讨论,并提供了一些性能选项,用于重新配置关系,而无需使用集合来表示GORM中的1-many和many-many的潜在巨大开销:

TravelDestination
中添加
static belongsTo=Person
是否解决了此问题(除非访问联接表,否则无法从TravelDestination访问特定的人),保留m:m关系中应该始终存在关系的拥有方这一事实。对不起,我不明白。你能详细说明一下吗?通读一下。我重点是对后面引用的抽象。