我想在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