Java Spring数据按一个属性对页面进行排序,以前按另一个属性排序

Java Spring数据按一个属性对页面进行排序,以前按另一个属性排序,java,sorting,pagination,spring-data-jpa,Java,Sorting,Pagination,Spring Data Jpa,假设我有一个表employee(id和name列如下所示): 我想创建一个大小为3的页面,我需要结果页面先按id排序,然后按name排序 关键是,如果我使用下一个查询: employeeRepository.findAll(PageRequest.of(0, 3, Sort.by("name").ascending().and(Sort.by("id").ascending())) 不按id对页面结果重新排序,只保留名称顺序 我尝试了,首先使用spring数据(OrderByName)和by

假设我有一个表employee(id和name列如下所示):

我想创建一个大小为3的页面,我需要结果页面先按
id
排序,然后按
name
排序

关键是,如果我使用下一个查询:

employeeRepository.findAll(PageRequest.of(0, 3, Sort.by("name").ascending().and(Sort.by("id").ascending()))
不按id对页面结果重新排序,只保留名称顺序

我尝试了,首先使用spring数据(OrderByName)和by page请求进行订购:

employeeRepository.findAllByOrderByName(PageRequest.of(page, size, Sort.by("id").ascending()));
但我总是得到下一个结果:

第1页

|---------------------|------------------|
|         id          |       name       |
|---------------------|------------------|
|          12         |      adrian      |
|---------------------|------------------|
|          5          |       anne       |
|---------------------|------------------|
|          9          |       bryce      |
|---------------------|------------------|
|---------------------|------------------|
|         id          |       name       |
|---------------------|------------------|
|          5          |      anne        |
|---------------------|------------------|
|          9          |       bryce      |
|---------------------|------------------|
|          12         |      adrian      |
|---------------------|------------------|
第2页

|---------------------|------------------|
|         id          |       name       |
|---------------------|------------------|
|          10         |       burns      |
|---------------------|------------------|
|          1          |      charles     |
|---------------------|------------------|
|          2          |       clyde      |
|---------------------|------------------|
|---------------------|------------------|
|         id          |       name       |
|---------------------|------------------|
|          1          |      charles     |
|---------------------|------------------|
|          2          |       clyde      |
|---------------------|------------------|
|          10         |       burns      |
|---------------------|------------------|
但我需要的结果是:

第1页

|---------------------|------------------|
|         id          |       name       |
|---------------------|------------------|
|          12         |      adrian      |
|---------------------|------------------|
|          5          |       anne       |
|---------------------|------------------|
|          9          |       bryce      |
|---------------------|------------------|
|---------------------|------------------|
|         id          |       name       |
|---------------------|------------------|
|          5          |      anne        |
|---------------------|------------------|
|          9          |       bryce      |
|---------------------|------------------|
|          12         |      adrian      |
|---------------------|------------------|
第2页

|---------------------|------------------|
|         id          |       name       |
|---------------------|------------------|
|          10         |       burns      |
|---------------------|------------------|
|          1          |      charles     |
|---------------------|------------------|
|          2          |       clyde      |
|---------------------|------------------|
|---------------------|------------------|
|         id          |       name       |
|---------------------|------------------|
|          1          |      charles     |
|---------------------|------------------|
|          2          |       clyde      |
|---------------------|------------------|
|          10         |       burns      |
|---------------------|------------------|
请注意,每个页面都按id重新排序,但按名称保留第一个顺序

是否有一种方法可以做到这一点,只需要使用页面和排序,或者需要对页面结果进行后期处理

有什么想法吗