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 cbd6552b1f..d730f19990 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 @@ -426,11 +426,6 @@ public List findAll(Sort sort) { @Override public Page findAll(Pageable pageable) { - - if (pageable.isUnpaged()) { - return new PageImpl<>(findAll()); - } - return findAll((Specification) null, pageable); } @@ -717,8 +712,7 @@ protected Page readPage(TypedQuery query, final Class dom */ protected TypedQuery getQuery(@Nullable Specification spec, Pageable pageable) { - Sort sort = pageable.isPaged() ? pageable.getSort() : Sort.unsorted(); - return getQuery(spec, getDomainClass(), sort); + return getQuery(spec, getDomainClass(), pageable.getSort()); } /** @@ -731,8 +725,7 @@ protected TypedQuery getQuery(@Nullable Specification spec, Pageable pagea protected TypedQuery getQuery(@Nullable Specification spec, Class domainClass, Pageable pageable) { - Sort sort = pageable.isPaged() ? pageable.getSort() : Sort.unsorted(); - return getQuery(spec, domainClass, sort); + return getQuery(spec, domainClass, pageable.getSort()); } /** diff --git a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/UserRepositoryTests.java b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/UserRepositoryTests.java index d549077eec..0feca796e2 100644 --- a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/UserRepositoryTests.java +++ b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/UserRepositoryTests.java @@ -2887,6 +2887,18 @@ void existsByExampleNegative() { assertThat(exists).isFalse(); } + @Test // GH-3476 + void unPagedSortedQuery() { + + flushTestUsers(); + + Sort sort = Sort.by(DESC, "firstname"); + Page firstPage = repository.findAll(PageRequest.of(0, 10, sort)); + Page secondPage = repository.findAll(Pageable.unpaged(sort)); + assertThat(firstPage.getContent()).isEqualTo(secondPage.getContent()); + } + + @Test // DATAJPA-905 void executesPagedSpecificationSettingAnOrder() {