Grails 3.2にはGORMのいくつかの主要な更新が付属しています。Grails 3.2 - ページ区切りと1対多の関連付けで選択
def c = Cat.createCriteria()
List<Cat> data = c.listDistinct(){
createAlias('furType', 'ft)
createAlias('kittens', 'kitten')
createAlias('kitten.furType', 'kft')
or {
ilike('ft.color', 'orange')
ilike('kft.color', 'orange')
}
maxResults 10
firstResult 10
}
現在のところ、このクエリーでは、各ネコに2つの子猫がある場合、10個ではなく5個の結果しか表示されません。
編集:重複した猫がどのように呼び出されるかを示す例を編集しました。
両方の子猫とも、どちらの猫もfurTypeオレンジを持っていますか?そうでなければ、ilike( 'kft.color'、 'orange')は返される結果の数を制限します。 – elixir
彼らはしません。私はちょうどファータイプオレンジの子猫を持っている猫にページを付けようとしています。しかし、この特定の状況では、あなたは同じfurType色を持つ子猫を2頭持つことはありません。 – Anonymous1
条件照会に問題はありません。あなたの質問を正しく理解できなかったかもしれません。あなたが明確にすることができれば、それはすばらしいことでしょう。 – elixir