diff --git a/src/main/java/org/springframework/data/jpa/repository/support/QueryDslJpaRepository.java b/src/main/java/org/springframework/data/jpa/repository/support/QueryDslJpaRepository.java index cbe350e86..05613f689 100644 --- a/src/main/java/org/springframework/data/jpa/repository/support/QueryDslJpaRepository.java +++ b/src/main/java/org/springframework/data/jpa/repository/support/QueryDslJpaRepository.java @@ -139,7 +139,7 @@ public class QueryDslJpaRepository extends SimpleJpa JPQLQuery query = querydsl.applyPagination(pageable, createQuery(predicate)); Long total = countQuery.count(); - List content = total > pageable.getOffset() ? query.list(path) : Collections. emptyList(); + List content = pageable == null || total > pageable.getOffset() ? query.list(path) : Collections. emptyList(); return new PageImpl(content, pageable, total); } diff --git a/src/test/java/org/springframework/data/jpa/repository/support/QueryDslJpaRepositoryTests.java b/src/test/java/org/springframework/data/jpa/repository/support/QueryDslJpaRepositoryTests.java index ba0ed6f56..7e32479da 100644 --- a/src/test/java/org/springframework/data/jpa/repository/support/QueryDslJpaRepositoryTests.java +++ b/src/test/java/org/springframework/data/jpa/repository/support/QueryDslJpaRepositoryTests.java @@ -29,6 +29,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort.Direction; import org.springframework.data.domain.Sort.Order; @@ -350,4 +351,12 @@ public class QueryDslJpaRepositoryTests { assertThat(users.get(2).getFirstname(), is(oliver.getFirstname())); assertThat(users, hasItems(carter, dave, oliver)); } + + /** + * @see DATAJPA-585 + */ + @Test + public void worksWithNullPageable() { + assertThat(repository.findAll(user.dateOfBirth.isNull(), (Pageable) null).getContent(), hasSize(3)); + } }