2012-06-18 1 views
0

У меня есть классы домена => многие-ко-многим и ассоциируйте их с помощью addTo.Найти, если добавить в класс домена - не использовать findBy

class Books { 
    static belongsTo = Author 
} 

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

Контроллер:

author.addToBooks(mybook).save() 

=> Я хочу, чтобы проверить, если MyBook уже добавлен автором. Можно ли проверить, добавлена ​​ли книга к автору (надеюсь, не используя findBy)? Что-то вроде

if (author.isAdded(mybook)) 

Спасибо.

ответ

6

По умолчанию hasMany будет использовать java.util.Set. Поскольку Set - это коллекция, которая не содержит дубликатов, это означает, что вы можете позвонить author.addToBooks() с той же Книгой, и она не будет добавлена ​​несколько раз, поэтому нет необходимости проверять наличие книги.

Однако, чтобы проверить книгу в комплекте, вы можете использовать author.books.contains(book)

Смежные вопросы