2011-02-08 69 views
1

我在一個類上實現兩個不同類型的關係到另一個類時遇到了一些問題。Grails:GORM多對多和一對多的關係映射

作爲一個例子想象一個作者擁有一本書面書目,然後是一個他最喜歡的書籍之一。

從Grails的格姆參考頁,我能夠實現正確的多到許多關係如下:

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

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

哪家買perftectly工作的方式。問題是當我想要添加preferedBook關係Author類:

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

此新行似乎並沒有工作,還有在啓動時出現錯誤(在創建表),然後通過保存對象,而不是所有的關係都被保存。 (即使他們的.save()方法在所有實例上被正確調用)

你知道什麼是實現所需行爲的正確方法嗎?

+0

我剛剛在grails 1.3.6中測試了您的確切代碼,並且沒有遇到任何問題。 – Gregg 2011-02-08 19:16:46

回答

1

試試「hasOne」。它將FK存儲在子表中,並可能引起您繞過循環依賴問題