请告诉我如何通过hibernate执行以下查询?
select count(empid) from (select empid, count(deptid) dept_count from emp group by empid) where dept_count > 1
基本上,查询会检索与多个部门相关联的员工数量。
使用group by函数为子查询创建了DetachedCriteria,如下所示:
DetachedCriteria dc = DetachedCriteria.forClass(Emp.class);
ProjectionList pl = Projections.projectionList();
pl.add(Projections.groupProperty("empid"), "empid");
pl.add(Projections.rowCount(), "dept_count");
dc.setProjection(pl);
但后来没有找到一种方法来计算dept_count大于1的员工人数。