diff --git a/src/main/java/org/springframework/data/domain/Unpaged.java b/src/main/java/org/springframework/data/domain/Unpaged.java index 4431b5e8a..05125b6b9 100644 --- a/src/main/java/org/springframework/data/domain/Unpaged.java +++ b/src/main/java/org/springframework/data/domain/Unpaged.java @@ -89,4 +89,21 @@ final class Unpaged implements Pageable { throw new UnsupportedOperationException(); } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Unpaged unpaged)) { + return false; + } + + return sort.equals(unpaged.sort); + } + + @Override + public int hashCode() { + return sort.hashCode(); + } } diff --git a/src/test/java/org/springframework/data/domain/PageRequestUnitTests.java b/src/test/java/org/springframework/data/domain/PageRequestUnitTests.java index bd258d867..bf7101214 100755 --- a/src/test/java/org/springframework/data/domain/PageRequestUnitTests.java +++ b/src/test/java/org/springframework/data/domain/PageRequestUnitTests.java @@ -58,6 +58,11 @@ class PageRequestUnitTests extends AbstractPageRequestUnitTests { // Is not equal to instance with another sort assertNotEqualsAndHashcode(request, PageRequest.of(1, 10, Direction.ASC, "foo")); + + // Equaliity for unpaged + assertEqualsAndHashcode(Pageable.unpaged(), Pageable.unpaged(Sort.unsorted())); + + assertNotEqualsAndHashcode(Pageable.unpaged(), Pageable.unpaged(Sort.by("foo"))); } @Test // DATACMNS-1581