У меня возникают некоторые проблемы при реализации в одном классе двух разных типов отношений с другим классом.
В качестве примера представьте, что у Автора есть список написанных книг, а затем тот, который является его предпочтительным.
Со справочной страницы Grails GORM мне удалось реализовать правильное соотношение «многие ко многим» следующим образом:
class Author {
static hasMany = [books: Book]
}
class Book {
static belongsTo = Author
static hasMany = [authors : Author]
}
То есть, работая безупречно.Проблема возникает, когда я хочу добавить отношение PreredBook к классу Author:
class Author {
Book prefered //My prefered book
static hasMany = [books: Book]
}
Эта новая строка не работает, возникает ошибка при запуске (при создании таблиц), а затемПри сохранении объектов сохраняются не все отношения.(Несмотря на то, что метод .save () вызывается корректно во всех случаях)
Есть ли у вас какие-либо идеи относительно правильного способа достижения необходимого поведения?