我尝试在Spring Boot for RESTFul中使用PagingAndSortingRepository。
@Repository
public interface PrsMainRepo extends PagingAndSortingRepository<PrsMain, String> {
@Query(value = "SELECT * FROM PagingFilter(?1,?2) ORDER BY ?#{#pageable}", nativeQuery = true)
Page<PrsMain> findAll(String colName, String condition, Pageable pageable);
}
这是我的主存储库,当我使用postman运行项目和测试时,我得到了hibernate日志记录:
2017-12-25 15:20:32.370 DEBUG 7532 --- [nio-8080-exec-1] org.hibernate.SQL : SELECT * FROM PagingFilter(?,?) ORDER BY ? limit ? offset ?
Hibernate: SELECT * FROM PagingFilter(?,?) ORDER BY ? limit ? offset ?
2017-12-25 15:20:32.434 TRACE 7532 --- [nio-8080-exec-1] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [VARCHAR] - [prs_firstname]
2017-12-25 15:20:32.441 TRACE 7532 --- [nio-8080-exec-1] o.h.type.descriptor.sql.BasicBinder : binding parameter [2] as [VARCHAR] - [Sharon]
2017-12-25 15:20:32.456 TRACE 7532 --- [nio-8080-exec-1] o.h.type.descriptor.sql.BasicBinder : binding parameter [3] as [VARBINARY] - [Page request [number: 6, size 10, sort: UNSORTED]]
2017-12-25 15:20:32.738 DEBUG 7532 --- [nio-8080-exec-1] org.hibernate.SQL : SELECT * FROM PagingFilter(?,?)
Hibernate: SELECT * FROM PagingFilter(?,?)
2017-12-25 15:20:32.747 TRACE 7532 --- [nio-8080-exec-1] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [VARCHAR] - [prs_firstname]
2017-12-25 15:20:32.755 TRACE 7532 --- [nio-8080-exec-1] o.h.type.descriptor.sql.BasicBinder : binding parameter [2] as [VARCHAR] - [Sharon]
这是返回数据的空内容。我不知道为什么,如何解决这个问题? (只有SELECT * FROM PagingFilter(?1,?2)正在运行)
{
"content": [],
"pageable": {
"sort": {
"sorted": false,
"unsorted": true
},
"offset": 60,
"pageSize": 10,
"pageNumber": 6,
"paged": true,
"unpaged": false
},
"last": true,
"totalElements": 12,
"totalPages": 2,
"size": 10,
"number": 6,
"sort": {
"sorted": false,
"unsorted": true
},
"numberOfElements": 0,
"first": false
}