JPA原生SQL(自定義SQL)分頁查詢邏輯詳解
JPA原生SQL(自定義SQL)分頁查詢
JPA自己寫SQL查詢的話,分頁還稍微麻煩
經過測試下面方法可以
@Query(nativeQuery = true, value = "select * from goods where " +
" codeName like CONCAT('%',?1,'%') and order by ?w#{#pageable}")
Page<Goods> findByName(String name, Pageable pageable);
pageable對象里定義排序的字段
Pageable pageable = new PageRequest(pageNumber, pageSize,Sort.Direction.DESC, "id");
JPA原生SQL分頁查詢踩坑記錄
1.問題簡述
JPA 分頁查詢這個很簡單,只要在接口上加上一個參數(shù) Pageable
比如

但是 仔細看 我自定義的 SQL 這里用了 a.* 來只獲取一張表的字段 .
但是他生成的 SQL 語句就成了.
![]()
這樣就導致了 查詢異常.
2.解決方案
1.指定count的字段
在@Query 注解中添加一個參數(shù)

然后,生成的SQL語句就是
![]()
2.指定count的查詢語句
同樣也是 @Query中添加參數(shù)
![]()
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java字節(jié)流與基本數(shù)據(jù)類型的轉換實例
本篇文章主要介紹了Java字節(jié)流與基本數(shù)據(jù)類型的轉換實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
Spring Cloud微服務架構的構建:分布式配置中心(加密解密功能)
這篇文章主要給大家介紹了關于Spring Cloud微服務架構的構建:分布式配置中心(加密解密)的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用具有一定的參考學習價值,需要的朋友可以參考下2018-05-05
java多線程開發(fā)ScheduledExecutorService簡化方式
這篇文章主要為大家介紹了java多線程開發(fā)ScheduledExecutorService的簡化方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-03-03
SpringBoot之返回json數(shù)據(jù)的實現(xiàn)方法
這篇文章主要介紹了SpringBoot之返回json數(shù)據(jù)的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12

