2017-06-28 60 views
0

我想在grails應用程序中對結果進行分頁。對於查詢,我使用hql。該查詢的工作如下。在hql中對結果進行分頁的最佳方式

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

但是隻顯示適合的值是不夠的。我必須顯示查詢在沒有過濾的情況下帶來了多少結果。目前

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

爲了提高效率我想知道是否有可能使一些特技和查詢查詢的國王只有一次?因爲基本上我調用兩次相同的查詢。我正在尋找最有效的方法。

回答

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的解決方案。問候, –

相關問題