查找是否添加到域类中 - 不使用findBy

时间:2012-06-18 18:14:40

标签: grails grails-domain-class

我有域类=>多对多并使用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))   

感谢。

1 个答案:

答案 0 :(得分:6)

默认情况下,定义为hasMany将使用java.util.Set。由于Set是一个不包含重复项的集合,这意味着您可以使用相同的Book调用author.addToBooks(),并且不会多次添加它 - 因此不必检查是否存在书籍。 / p>

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