[Fix] Query with(pageable) and with(Pageable.unpaged) #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There's a fix proposed when we want to use the same query for the pageable and unpaged instance. A typical case would be
Get all the Object using the mongoTemplate from the Repository
mongoTemplate.find(filterQuery.with(pageable), CustomBean.class)
Get the count of all the instance but unpaged
mongoTemplate.count(filterQuery.with(Pageable.unpaged()), CustomBean.class);
And implementing the page instance
new PageImpl<>(mongoDocumentsPaged, pageable, count);
In the order of invoking
with(pageable) comes first will set the parameters - "skip, limit, sort" and then invoking
with(Pageable.unpaged()) won't reset them to "0, 0, Sort.unsorted()"
The fix will reset
in the with(Pageable pageable)
in the with(Sort sort)
this.sort = sort; // which will be Sort.unsorted()