2

我有这样的关系

class Foo {
    static hasMany = [bars: Bar, things: Thing]
}

class Bar {
    // Has nothing to tie it back to Foo or anything else of importance
}

class Thing {
    // Has nothing to tie it back to Foo or anything else of importance
}

我有一个Thing. 我想获取与我拥有的实例相关Bar联的所有实例相关联的所有实例。FooThing

我已经多次使用 GrailsexecuteQuery方法,但我的查询不起作用。

这是一个有效的查询,它将获取Foo与 的实例相关的所有实例Bar。我希望我需要的查询看起来非常相似,我只是遇到了 HQL 连接问题。

SELECT DISTINCT f FROM Foo f INNER JOIN f.bars bars WHERE bars =:bars
4

1 回答 1

3
SELECT DISTINCT f.Bars FROM Foo f inner join f.things thing where thing.Id in (:validThingIds)

grails 应该支持设置参数,并且您基本上需要将 id 数组传递给查询。查询的最后一部分应该评估为(1,2,3,4)1,2,3,4 是有效事物的 id。

于 2012-06-20T04:35:36.443 回答