[英]Unidirectional M:M in Grails GORM
Gorm中可能有單向M:M嗎?
例如,我有一個Person
對象,而我有TravelDestionion
對象。
一個人可能去過很多旅行目的地,其中一些旅行目的地當然有很多人。 但是,我從不想從TravelDestination導航到Person。
有小費嗎?
從技術上講,您不能訪問另一端,但是Grails在這方面太有幫助了。 例如,當您要將新的TravelDestination
實例與Person
關聯時,可以將其添加TravelDestination
人的destinations
集合(或任何您命名的實例)中。 但是,為了確保雙方在調用save
之后與數據庫的外觀保持同步,Grails將Person
添加到TravelDestination
的persons
集合中。
這顯然可能非常昂貴,例如,通過用戶<->角色關系,其中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.