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私が持っているインスタンスに関連付けられているすべてのインスタンスに関連付けられているすべてのインスタンスを取得したいと考えています。BarFooThing

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 に答える