diff --git a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/JpaCountQueryCreator.java b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/JpaCountQueryCreator.java index 851a867214..e0c6892855 100644 --- a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/JpaCountQueryCreator.java +++ b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/JpaCountQueryCreator.java @@ -63,14 +63,15 @@ protected CriteriaQuery createCriteriaQuery(CriteriaBuilder bu @Override @SuppressWarnings("unchecked") protected CriteriaQuery complete(@Nullable Predicate predicate, Sort sort, - CriteriaQuery query, CriteriaBuilder builder, Root root) { + CriteriaQuery query, CriteriaBuilder builder, Root root) { - CriteriaQuery select = query.select(getCountQuery(query, builder, root)); + CriteriaQuery select = query.select(getCountQuery(builder, root)); return predicate == null ? select : select.where(predicate); } + @SuppressWarnings("rawtypes") - private Expression getCountQuery(CriteriaQuery query, CriteriaBuilder builder, Root root) { + private Expression getCountQuery(CriteriaBuilder builder, Root root) { return distinct ? builder.countDistinct(root) : builder.count(root); } }