Grails:如何查询域类'hasMany-relationship与交叉的对象集?

时间:2010-12-19 16:06:18

标签: grails gorm intersection

我有以下内容:

class Object_1 {
  static hasMany = [tags:Tag]
  Set tags;
  ...
}

现在我有一组标签,想要找到所有具有相交(!=匹配)标签的Object_1实例。我在考虑像

这样的东西
Object_1.findAllByTagsInList(tags);

但这根本不起作用 - 我得到一个“嵌套异常是org.hibernate.exception.SQLGrammarException:无法执行查询”。我觉得我错过了一些重要的东西。非常感谢。

2 个答案:

答案 0 :(得分:0)

我实际上找到了解决问题的优雅方法。我重新设计了多对多关系,允许简单地遍历标签列表,找到所有相关对象。

...当然,现在我必须多次照顾这种关系 - 但我很高兴能与少数人合作。

答案 1 :(得分:-1)

“在列表中”不是动态查找程序方法中识别的the operators之一 - 这不起作用。

相反,您必须使用HQL or the criteria builder来制定查询(并且可能将其置于静态查找器方法中)。