次のドメイン構造があるとします。
Book {
static hasMany = [tags: Tag]
}
Tag {
String name
}
Book
この本のタグのいずれかを含む他の本を見つけることができる方法を見つけようとしています。
私はもう試した:
Book.findAllByTagsInList(myBook.tags)
しかし、予想どおり、「List in List」クエリは必要な結果を生成していません。
次のドメイン構造があるとします。
Book {
static hasMany = [tags: Tag]
}
Tag {
String name
}
Book
この本のタグのいずれかを含む他の本を見つけることができる方法を見つけようとしています。
私はもう試した:
Book.findAllByTagsInList(myBook.tags)
しかし、予想どおり、「List in List」クエリは必要な結果を生成していません。
基準を次のように使用できます。
def books = Book.createCriteria().listDistinct{
tags{
'in'('id', myBook.tags*.id)
}
}
またはHQLを次のように使用します
def books = Book.executeQuery("select distinct b from Book as b \
inner join b.tags as tag \
where tag.id in (:tags)",
[tags: myBook.tags*.id])