Criteria API,Aggregate函数内的聚合函数,JPA 2.1

时间:2014-05-05 05:40:23

标签: java sql jpa criteria-api

我是JPA和Criteria API的新手。目前我的目标是获得count()agregate的max()。

标准代码:

CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery criteriaQ = builder.createQuery();

Root<Student> s = criteriaQ.from(Student.class);
criteriaQ.groupBy(s);

criteriaQ.multiselect(s, builder.count(s.get(Student_.assistedCourse)));

关系:

@OneToMany(mappedBy="ta")
Student_.assistedCourse
@ManyToOne 
Course_.ta

简而言之,目标是让在最多课程中得到帮助的学生。输出应该是一个包含最多辅助课程的Object []和辅助该课程数量的学生实体实例。

使用普通的SQL,我可以使用一些别名来执行子查询。但是对于我如何将多个查询连接在一起,Criteria对我来说有点混乱。对于这样的案例,最佳做法是什么?

提前致谢。

0 个答案:

没有答案