Spring JPA 规范:如何使用规范对聚合函数进行排序

Spring JPA Specification : How to sort on aggregate function using specification

当我们尝试对聚合列 COUNT 进行排序时抛出错误。

例如:要求是使用规范形成以下查询。但是,它不会返回单个实体作为结果。相反,它是表的连接。

排序 SQL 查询需要使用规格 :

Select DISTINCT ss.studentId.name, ss.studentId.department , COUNT (DISTINCT ss.subjectId.id)" +
            "FROM SubjectStudent  ss " +
            "left outer join ss.studentId sd  " +
            "left outer join ss.subjectId su "+
            "GROUP BY  ss.studentId.cve, ss.subjectId.id " +
            "ORDER BY ss.studentId.department 

那么,在这里我们如何使用规范对聚合列 COUNT 进行排序?

解决方案:criteriaBuilder.having(<>) 每当我们想使用规范

将条件放在聚合函数上时