我想獲得結果分頁,下面的代碼可以正常工作,如果請求是在頁面參數設置爲0的情況下進行的,但不適用於頁面> 0,如頁面= 1或頁面= 2或頁面= 3等Springboot JPA Pageable不適用於頁碼大於0
這裏是我的RequestMapping
MyResponse getSample(@ModelAttribute MyRequest MyRequest) {
Pageable pageRequest = new PageRequest(MyRequest.page, MyRequest.size)
MyModule.findSamples(MyRequest, pageRequest)
}
class MyRequest {
MyQueryType queryType
String searchTerm
@Min(value = 0L, message = 'Offset must be greater than or equal to 0')
int offset = 0
@Min(value = 0L, message = 'Offset must be greater than or equal to 0')
int page = 0
@Min(value = 1L, message = 'Limit must be greater than or equal to 1')
int limit = 100
@Min(value = 1L, message = 'Limit must be greater than or equal to 1')
int size = 5
}
MyModule:Code inside my Module
MyResponse findSamples(MyRequest MyRequest, Pageable pageRequest) {
log.info("Page Information Set "+pageRequest.pageNumber+pageRequest.pageSize)
Page<SamplesPO> pages = null
pages = MyRepository.findAllById(MyRequest.Id, pageRequest)
}
庫代碼:
public interface SampleRepository extends JpaRepository<Sample, Long> {
@Query('''
select e.Samples
from ParentSampleTable e
where e.Id = :Id
''')
Page<Sample> findAllById(@Param('Id') String Id, Pageable pageRequest)
}
這是SPring Data JPA API(!= JPA API)。 Pageable/Repository與JPA API無關。標記已修復 –