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(<>) 每当我们想使用规范
将条件放在聚合函数上时
当我们尝试对聚合列 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(<>) 每当我们想使用规范
将条件放在聚合函数上时