How to query data out of the box using Spring data JPA by both Sort and Pageable?

java, jpa, spring, spring-data-jpa

Solution

There are two ways to achieve this:

final PageRequest page1 = new PageRequest(
  0, 20, Direction.ASC, "lastName", "salary"
);

final PageRequest page2 = new PageRequest(
  0, 20, new Sort(
    new Order(Direction.ASC, "lastName"), 
    new Order(Direction.DESC, "salary")
  )
);

dao.findAll(page1);

As you can see the second form is more flexible as it allows to define different direction for every property (`lastName ASC, salary DESC`).

Problem

I am trying Spring data JPA in my project. I want to know if there is an out-of-the-box API to query data, by both `Sort` and `Pageable`. Of course, I know I can write that method myself, I just want to know if there is an out-of-the-box one. My DAO extends `JpaRepository`, and I found there are the following methods I can invoke: ``` findAll(); findAll(Pageable pageable); findAll(Sort sort); ``` But there is no such method as `findAll(Sort sort, Pageable pageable)`, so I am curious.

Original source