我有 2 个实体:Faculty 和 Course,它们是一对多的关系,也就是说 - Faculty 可以提供多门课程,但也可以不提供任何课程。
我正在尝试按他们提供的课程数量对学院进行排序,这样做:
criteriaQuery.orderBy(criteriaBuilder.asc(criteriaBuilder.size(root.get(Faculty_.courses))));
问题是它失败了
criteriaBuilder.size(root.get(Faculty_.courses))
带有 NullPointerException 因为 Faculty_.courses 对于某些学院为空。请帮助我以更好的方式编写此内容,以便考虑课程为空的情况。
注意:我必须使用 JPA Criteria API,因为这是带有分页和内容的更大查询的一部分。因此,使用查询语言编写它不是一种选择。