0

我有以下两个课程:

class Person{

 String name

  static hasMany = [
     items: Item
 ]
}

class Item{
 String name
}

多个人也可以拥有相同的项目。我正在尝试获取在其集合中具有特定项目的所有人员的列表。IE 人 A 和 B 在他们的列表中都有项目 A,因此将它们都归还。不幸的是,它们不是 findAllByCollectionContains(),最接近的是 findAllByCollection(),它需要一个精确的集合。

我一直在尝试 executeQuery 给我一个但更多的控制权,但还没有想出任何东西。

我尝试过的示例:

 Person.executeQuery("select name from Person p where ? in p.items",[item])

有什么建议么?

4

1 回答 1

1

您必须加入项目集合,然后您可以轻松查询它

 Person.executeQuery("select name from Person p join p.items as i where i = ?",[item])
于 2013-07-11T21:42:58.760 回答