diff --git a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/Querydsl.java b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/Querydsl.java index cd3945bd1..d895d4717 100644 --- a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/Querydsl.java +++ b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/Querydsl.java @@ -108,12 +108,11 @@ public class Querydsl { Assert.notNull(pageable, "Pageable must not be null"); Assert.notNull(query, "JPQLQuery must not be null"); - if (pageable.isUnpaged()) { - return query; - } + if (pageable.isPaged()) { - query.offset(pageable.getOffset()); - query.limit(pageable.getPageSize()); + query.offset(pageable.getOffset()); + query.limit(pageable.getPageSize()); + } return applySorting(pageable.getSort(), query); } diff --git a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java index 759752f12..3ee2c7736 100644 --- a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java +++ b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java @@ -723,7 +723,6 @@ public class SimpleJpaRepository implements JpaRepositoryImplementation getQuery(@Nullable Specification spec, Pageable pageable) { - return getQuery(spec, getDomainClass(), pageable.getSort()); } @@ -736,7 +735,6 @@ public class SimpleJpaRepository implements JpaRepositoryImplementation TypedQuery getQuery(@Nullable Specification spec, Class domainClass, Pageable pageable) { - return getQuery(spec, domainClass, pageable.getSort()); } diff --git a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/support/QuerydslJpaPredicateExecutorUnitTests.java b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/support/QuerydslJpaPredicateExecutorUnitTests.java index 559bc0f2a..ef8d1c6c8 100644 --- a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/support/QuerydslJpaPredicateExecutorUnitTests.java +++ b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/support/QuerydslJpaPredicateExecutorUnitTests.java @@ -282,9 +282,15 @@ class QuerydslJpaPredicateExecutorUnitTests { assertThat(users).contains(carter, dave, oliver); } - @Test // DATAJPA-585 + @Test // DATAJPA-585, 3761 void worksWithUnpagedPageable() { + assertThat(predicateExecutor.findAll(user.dateOfBirth.isNull(), Pageable.unpaged()).getContent()).hasSize(3); + + Page users = predicateExecutor.findAll(user.dateOfBirth.isNull(), + Pageable.unpaged(Sort.by(Direction.ASC, "firstname"))); + + assertThat(users).containsExactly(carter, dave, oliver); } @Test // DATAJPA-912