[英]Need help regarding HIbernate count query
我们有一个用例来数不。 实际查询返回的行数。 我没有得到如何使用休眠中的条件来获取它。 例如,假设我要运行查询
select sum(TOTAL_EARNINGS) from table where column1 = 'value1' group by column2);
除了此查询结果之外,我还希望获得上述查询返回的总行数(以上查询也可能具有rownum限制,但对于总行,我必须忽略rownum限制)。
select count(*) from (select sum(TOTAL_EARNINGS) from table
where column1 = 'value1' group by column2);
有没有简单的方法来获取此数据。 我可以运行单独的查询来获取计数数据,但是我没有得到如何使用条件在休眠状态下编写此查询。 我什至看不到可以使用的子查询中的任何选项
通常,可以使用标准来使用投影。 如果您有一个由Hibernate映射的实体“您的”,则可以这样做:
编辑 :根据您的评论,您需要两个结果,一个总数和一个结果分组。
//the group by results...
List result1 = session.createCriteria("Your.class").setProjection(Projections.projectionList()
.add(Projections.groupProperty("column2"))
.add(Projections.sum("totalErnings"))
).list();
//the total count result
return (Integer) session.createCriteria("Your.class").add(Restrictions.eq("column1", val)).setProjection(Projections.rowCount()).uniqueResult();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.