2017-06-28 3 views
0

結果をページングするにはgrailsアプリケーションを使用します。照会のために、私はhqlを使用しています。クエリは次のように動作します。hqlで結果を改ページする最良の方法は何ですか

List response= Order.executeQuery(selectQuery + queryWhere, [offset:command.offset, max:command.max]) 

ただし、フィッティング値のみを表示するだけでは十分ではありません。私はフィルタリングなしでクエリがもたらす結果の数を表示しなければなりません。現時点で

def count=Order.executeQuery("select count(*)" + queryWhere) 

効率的に私はトリックの王を作り、クエリを一度しか呼び出すことができないのだろうと思っていますか?基本的に同じクエリを2回呼び出すためです。私はそれを行う最も効率的な方法を探しています。

答えて

0

createCriteriaメソッドを使用して、基準APIを使用してデータベース内のレコードを検索することをお勧めします。ここにサンプルがあります。

def orderListCriteria = Order.createCriteria() 
    def list = orderListCriteria.list(max:max,offset:offset) { 
       eq("user",user) 
       eq("",) //actual filter query 
       order(,) 
      } 
    def count = list.totalCount // this will give total count 
+0

私はsqlまたはhqlのソリューションが必要です。よろしく、 –

関連する問題