0

我有域类 => 多对多并使用 addTo 关联它们。

class Books {
    static belongsTo = Author
}

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

控制器:

author.addToBooks(mybook).save()

=> 我想检查 mybook 是否已经添加到作者。是否可以检查这本书是否已添加到作者(希望不使用 findBy)?就像是

if (author.isAdded(mybook))   

谢谢。

4

1 回答 1

6

默认情况下定义 ashasMany将使用java.util.Set. 由于 Set 是一个不包含重复项的集合,这意味着您可以author.addToBooks()使用同一本书进行调用,并且不会多次添加它——因此无需检查是否存在一本书。

但是,要检查集合中的一本书,您可以使用author.books.contains(book)

于 2012-06-18T18:53:03.397 回答