我是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对我来说有点混乱。对于这样的案例,最佳做法是什么?
提前致谢。