2012-06-18 2 views
0

도메인 클래스가> many-to-many이고 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이 사용됩니다. 세트는 중복이없는 콜렉션이므로 동일한 서적으로 author.addToBooks()을 호출 할 수 있으며 두 번 이상 추가되지 않으므로 책이 있는지 확인할 필요가 없습니다.

그러나 세트의 도서를 확인하려면 author.books.contains(book)

을 사용할 수 있습니다.
관련 문제