一、totalCount
最近在用grails开发项目,在createCriteria中使用group by的时候发现PagedResultList中的totalCount有问题。
查阅了很多官方的非官方的资料后,最终得出一条临时方便的解决办法:
int totalCount = Domain.executeQuery('select count(*) from domain where id in(select min(id) from domain group by grp1,grp2))')[0]
domain:你的domain的名称,注意大小写
grp1,grp2:你的group by 字段,注意大小写
二、顺便再记录一个
在createCriteria中使用group by 返回的聚合数据不是map的问题解决方法:
def results = Domain.createCriteria.list(max:10,offset:0){
setResultTransformer(CriteriaSpecification.ALIAS_TO_ENTITY_MAP)
projections{
groupProperty("grp1")
}
}