groovy Grails中的HQL连接

quhf5bfb  于 2022-11-21  发布在  其他
关注(0)|答案(1)|浏览(182)

我有一段这样的感情

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的示例。我想获取与Foo的所有示例关联的Bar的所有示例,而Foo的所有示例又与我拥有的Thing的示例关联。
我已经多次使用Grails executeQuery方法,但是查询不起作用。
下面是一个工作查询,它将获取与Bar示例相关的所有Foo示例。我希望我需要的查询看起来非常相似,我只是在HQL连接方面遇到了问题。

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

3vpjnl9f1#

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。

相关问题