Grails'deki iki etki alanı sınıfı arasında iki farklı ilişki türü uygulamaya çalışıyorum.Grails: iki etki alanı nesnesi arasındaki çoklu ilişkiler
Aşağıdakileri dikkate alın; İki alan sınıfım var, bir Yazarın Kitap sahibi olduğu bir Yazar ve Kitap sınıfı var. Bir Yazar ve bir Kitap arasındaki çok fazla ilişkiyi çok açık bir şekilde tasvir etmektedir. Ama aynı zamanda bir Yazarın favori kitapların bir listesi konseptine sahip olmasını istiyorum. Bu, ideal olarak, aynı Kitap nesnesini bir liste olarak tanımlayan ve bu şekilde devam eden bir ilişkiden ayrı olarak temsil edilir.
class Author{
String name
static hasMany = [favouriteBooks: Book]
static mapping = {
favouriteBooks joinTable: [name: 'favourite_books',
key: 'author_id']
}
}
class Book{
String title
static belongsTo = [client:Client]
}
ben (birçok diğer yöntemler arasında) yukarıdaki gibi bu tarif çalıştık ve sonuçta veritabanı tablosu (favourite_books) oluşturulmaz. Ben hiç bir hata alamıyorum. Bu, modeli basit tutmak için kaçınmak istediğim ekstra nesneleri kullanmadan bunu düşünebilmemin tek yoludur. Doğru yolda olduğumu hissediyorum ama belki de bulmacanın hayati bir parçasını eksik hissediyorum.
Herhangi bir yardım çok takdir edilecektir.
Eğer çalıştı sahip yardımı ** temiz, çıkış için daha sonra tekrar ** grails ** **-app çalıştırın: şöyle çalışmış sınıf dosyalarıdır. Bazen grails, alan adınızdaki değişiklikleri 'clean' olmadan temizlemez. – ikumen
Yukarıdaki örnekte 'Author 'tarafında' hasMany' özelliğini kaçırıyorsunuz ve ikinci örnekte' favouriteBooks 'bağlantısına dair herhangi bir referans yoktur. 'Kitap' tarafı. –