From 06cdd8acbbedf8bf5bd899e9a3b1bd6df42e5050 Mon Sep 17 00:00:00 2001 From: Yanming Zhou Date: Fri, 3 Dec 2021 12:22:03 +0800 Subject: [PATCH] Optimize QuerydslJpaPredicateExecutor.exists. Fixes #2333 Original pull request #2373 --- .../jpa/repository/support/QuerydslJpaPredicateExecutor.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/springframework/data/jpa/repository/support/QuerydslJpaPredicateExecutor.java b/src/main/java/org/springframework/data/jpa/repository/support/QuerydslJpaPredicateExecutor.java index d748761dd..2d9628331 100644 --- a/src/main/java/org/springframework/data/jpa/repository/support/QuerydslJpaPredicateExecutor.java +++ b/src/main/java/org/springframework/data/jpa/repository/support/QuerydslJpaPredicateExecutor.java @@ -40,6 +40,7 @@ import com.querydsl.core.NonUniqueResultException; import com.querydsl.core.types.EntityPath; import com.querydsl.core.types.OrderSpecifier; import com.querydsl.core.types.Predicate; +import com.querydsl.core.types.dsl.Expressions; import com.querydsl.core.types.dsl.PathBuilder; import com.querydsl.jpa.JPQLQuery; import com.querydsl.jpa.impl.AbstractJPAQuery; @@ -225,7 +226,7 @@ public class QuerydslJpaPredicateExecutor implements QuerydslPredicateExecuto */ @Override public boolean exists(Predicate predicate) { - return createQuery(predicate).fetchCount() > 0; + return createQuery(predicate).select(Expressions.ONE).fetchFirst() != null; } /**