我想在grails应用程序中对结果进行分页。对于查询,我正在使用hql。查询的工作方式如下。

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

但是,仅显示过滤值是不够的。我必须显示该查询带来了多少结果而没有过滤。在这一刻
def count=Order.executeQuery("select count(*)" + queryWhere)

为了提高效率,我想知道是否可以进行某种技巧并只调用一次查询?因为基本上,我两次调用相同的查询。我正在寻找最有效的方法。

最佳答案

我想建议使用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

10-07 19:42
查看更多