gpt4 book ai didi

java - 需要有关 HIbernate 计数查询的帮助

转载 作者:太空宇宙 更新时间:2023-11-04 14:09:54 24 4
gpt4 key购买 nike

我们有一个用例可以计算。实际查询返回的行数。我不明白如何使用 hibernate 中的标准来获取它。例如假设我想运行查询

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 中编写此数据。我什至在子查询中看不到任何可以使用的选项

最佳答案

一般来说,根据标准,您可以使用预测。如果您有一个由 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();

关于java - 需要有关 HIbernate 计数查询的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28454402/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com