繁体   English   中英

Grails GORM中的单向M:M

[英]Unidirectional M:M in Grails GORM

Gorm中可能有单向M:M吗?

例如,我有一个Person对象,而我有TravelDestionion对象。

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

有小费吗?

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

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

在我讨论该内容的演示文稿中查看该演示文稿,并提供一些用于重新配置关系的高性能选项,而无需使用集合来表示GORM中的1个和许多个潜在的巨大开销: http : //www.infoq.com/presentations/GORM -性能

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM