Hibernate 如何实现子查询.rowCount(DetachedCriteria dc)
当DetachedCrieria具有投影时,如何获取DetachedCriteria结果集的行数?对于HQL: 从“选择名称”中选择“计数*”,按名称从“分数组”中选择“sumgrade”Hibernate 如何实现子查询.rowCount(DetachedCriteria dc),hibernate,subquery,detachedcriteria,Hibernate,Subquery,Detachedcriteria,当DetachedCrieria具有投影时,如何获取DetachedCriteria结果集的行数?对于HQL: 从“选择名称”中选择“计数*”,按名称从“分数组”中选择“sumgrade” 对于hibernate,如何实现Subqueries.rowCountDetachedCriteria dc?谢谢。如果您只需要计数,为什么不直接执行呢 select count(name) from score group by name 我也遇到了同样的问题……我提出了以下解决方案,并且效果良好: my
对于hibernate,如何实现Subqueries.rowCountDetachedCriteria dc?谢谢。如果您只需要计数,为什么不直接执行呢
select count(name) from score group by name
我也遇到了同样的问题……我提出了以下解决方案,并且效果良好:
myCriteria.setProjection(Projections.sqlProjection("count(*) as count from ( select distinct id , {alias}.enteredDate ", new String[] { "count" }, new Type[] { StandardBasicTypes.LONG }));
// this is needed to close the parentheses opened in the Projection
myCriteria.add(Restrictions.sqlRestriction(" 1=1)"));
不,这是一般要求。我们有一个独立的标准。如何获取查询结果的大小?执行它并查看返回的数字或结果?detachedCriteria.getExecutableCriteriasession.list.size如果结果集有数百万个实体,它会检索所有实体,然后计算其大小吗?如果它依赖于数据库,那么mysql呢?谢谢。如果您不想检索实体,可以尝试以下操作:detachedCriteria.getExecutableCriteriasession.setProjectionProjections.rowCount.uniqueResult。它接受当前条件并使用行计数覆盖select子句。如果detachedCriteria没有投影,则此操作有效。但是,如果它已经有了预测,它将不会起作用。ThanksIt最好在Hibernate中扩展类并实现它。也就是说,将select count*添加到DetachedCriteria的生成SQL中。但我还没有弄明白怎么做。谢谢分享。