我有域类 => 多对多并使用 addTo 将它们关联起来。
class Books {
static belongsTo = Author
}
class Author {
static belongsTo = Book
static hasMany = [books: Book]
}
Controller :
author.addToBooks(mybook).save()
=> 我想检查是否已将 mybook 添加到作者。是否有一种方法可以检查这本书是否已添加到作者(希望不使用 findBy)?就像是
if (author.isAdded(mybook))
谢谢。
最佳答案
默认定义为 hasMany
将使用 java.util.Set
.由于 Set 是一个不包含重复项的集合,这意味着您可以调用 author.addToBooks()
使用同一本书,并且不会多次添加 - 所以没有必要检查一本书是否存在。
但是,要检查 Set 中的 Book,您可以使用 author.books.contains(book)
关于grails - 查找是否添加到域类中 - 不使用 findBy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11088635/