Skip to content

Commit 835aba0

Browse files
committed
support Pageable.unpaged(sort)
Resolves: #3476 Original pull request: #3514
1 parent 3351350 commit 835aba0

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java

+3
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,9 @@ public List<T> findAll(Sort sort) {
428428
public Page<T> findAll(Pageable pageable) {
429429

430430
if (pageable.isUnpaged()) {
431+
if(pageable.getSort().isSorted()) {
432+
return new PageImpl<>(findAll(pageable.getSort()));
433+
}
431434
return new PageImpl<>(findAll());
432435
}
433436

spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/UserRepositoryTests.java

+16
Original file line numberDiff line numberDiff line change
@@ -1727,6 +1727,22 @@ void pageableQueryReportsTotalFromCount() {
17271727
assertThat(secondPage.getTotalElements()).isEqualTo(4L);
17281728
}
17291729

1730+
@Test // GH-3476
1731+
void unPageableQueryUnPagedSorted() {
1732+
1733+
flushTestUsers();
1734+
1735+
Page<User> firstPage = repository.findAll(PageRequest.of(0, 10));
1736+
assertThat(firstPage.getContent()).hasSize(4);
1737+
assertThat(firstPage.getTotalElements()).isEqualTo(4L);
1738+
1739+
1740+
Page<User> secondPage = repository.findAll(Pageable.unpaged(Sort.by(DESC, "age")));
1741+
assertThat(secondPage.getContent()).hasSize(4);
1742+
assertThat(secondPage.getContent()).containsExactly(thirdUser, secondUser, fourthUser, firstUser);
1743+
assertThat(secondPage.getTotalElements()).isEqualTo(4L);
1744+
}
1745+
17301746
@Test // DATAJPA-506
17311747
void invokesQueryWithWrapperType() {
17321748

0 commit comments

Comments
 (0)