簡體   English   中英

Grails:GORM多對多和一對多關系映射

[英]Grails: GORM Many-to-Many and One-To-Many relationship Mapping

在一個類上實現與另一類的兩種不同類型的關系時,我遇到了一些問題。

舉例來說,假設一位作者擁有一份書面書籍清單,然后是他的首選書籍清單。

在Grails GORM參考頁上,我能夠實現正確的多對多關系,如下所示:

class Author {
    static hasMany = [books: Book]
}

class Book {
    static belongsTo = Author
    static hasMany = [authors : Author]
}

這就是完美的工作方式。 當我想將PreferredreferBook關系添加到Author類時,問題就來了:

class Author {
    Book prefered //My prefered book
    static hasMany = [books: Book]
}

此新行似乎不起作用,啟動時(創建表時)出現錯誤,然后通過保存對象,並不能保存所有關系。 (即使在所有實例上都正確調用了.save()方法)

您是否知道實現所需行為的正確方法是什么?

嘗試“ hasOne”。 它將FK存儲在子表中,可能會帶您解決循環依賴問題

也許mappedBy解決了這個問題。 但是我不確定我是否僅找到帶有兩個m:n關系的示例

查看我的問題“ 域類關系”的答案。 我相信您的問題在那里可能有答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM