2016-03-22 21 views
3

3.1.4 grails ile çalışıyorum ve birden çok etki alanı nesnesini birden çok etki alanı nesnesine bağlamamı sağlayan bir şema oluşturmada sorun yaşıyorum. Yapmaya çalıştığım şeyin bir örneği olarak:Grails Domains - Çoktan çok ilişki var

Üç sınıfım var. Kitaplar, Yazarlar ve Okuma Listeleri. Yazarlar çok sayıda kitap yazmış olabilirlerdi. Kitaplar birkaç yazar tarafından yazılabilir. Ayrıca, Okuma Listeleri çeşitli kitaplardan oluşur ve kitap çoklu okuma listelerinin bir parçası olabilir. Bunun için alan yaratmaya nasıl başlamalıyım? aşağıdaki gibi

Onları kurmak için denedim: my belongsTo değerini değiştirerek tam olarak aynı olması denedim

No owner defined between domain classes 
[class firstapp.ReadingList] and [class firstapp.Book] in a many-to-many relationship. 

:

class Author { 
    Long id 
    String firstName 
    String lastName 
    static hasMany = [books: Book] 
} 

class ReadingList { 
    Long id 
    String name 
    static hasMany = [books: Book] 
} 

class Book { 
    Long id 
    String title 
    Integer pageCount 
    static belongsTo = [author: Author, readingList: ReadingList] 
    static hasMany = [authors: Author, readingLists: ReadingList] 
} 

derleme yaparken, bu hatayı alıyorum hasMany olarak, harita anahtarları çoğul fiiller olmakla birlikte, ancak bu da işe yaramıyor. Bunu nasıl başarabileceğime dair bir fikrin var mı?

Teşekkür

Açıkçası
+0

Eğer köprü için dördüncü sınıf var Could tüm Kimlikler? Bu, kendi benzersiz kimliğine ve daha sonra üç tablo anahtarının her biri için bir sütuna sahip olacaktır. Bunu her benzersiz kimlik birleşimi ile doldurursunuz. –

cevap

0

nedenini anlamıyorum ama Book bu tanım çalışması gerekir,

class Book { 
    Long id 
    String title 
    Integer pageCount 
    static belongsTo = [Author, ReadingList] 
    static hasMany = [authors: Author, readingLists: ReadingList] 
} 

Ama artık geri referansları

İlgili konular