JPA原生SQL(自定義SQL)分頁(yè)查詢邏輯詳解
JPA原生SQL(自定義SQL)分頁(yè)查詢
JPA自己寫(xiě)SQL查詢的話,分頁(yè)還稍微麻煩
經(jīng)過(guò)測(cè)試下面方法可以
@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對(duì)象里定義排序的字段
Pageable pageable = new PageRequest(pageNumber, pageSize,Sort.Direction.DESC, "id");
JPA原生SQL分頁(yè)查詢踩坑記錄
1.問(wèn)題簡(jiǎn)述
JPA 分頁(yè)查詢這個(gè)很簡(jiǎn)單,只要在接口上加上一個(gè)參數(shù) Pageable
比如
但是 仔細(xì)看 我自定義的 SQL 這里用了 a.* 來(lái)只獲取一張表的字段 .
但是他生成的 SQL 語(yǔ)句就成了.
這樣就導(dǎo)致了 查詢異常.
2.解決方案
1.指定count的字段
在@Query 注解中添加一個(gè)參數(shù)
然后,生成的SQL語(yǔ)句就是
2.指定count的查詢語(yǔ)句
同樣也是 @Query中添加參數(shù)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java聊天室之實(shí)現(xiàn)客戶端一對(duì)一聊天功能
這篇文章主要為大家詳細(xì)介紹了Java簡(jiǎn)易聊天室之實(shí)現(xiàn)客戶端一對(duì)一聊天功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以了解一下2022-10-10Java字節(jié)流與基本數(shù)據(jù)類型的轉(zhuǎn)換實(shí)例
本篇文章主要介紹了Java字節(jié)流與基本數(shù)據(jù)類型的轉(zhuǎn)換實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06基于Java實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換工具類的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何基于Java實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換工具類,從而實(shí)現(xiàn)減少參數(shù)長(zhǎng)度的效果,文中的示例代碼講解詳細(xì),需要的可以參考一下2023-02-02SpringBoot實(shí)現(xiàn)抽獎(jiǎng)算法的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何通過(guò)SpringBoot實(shí)現(xiàn)抽獎(jiǎng)算法,文中的示例代碼簡(jiǎn)潔易懂,具有一定的參考價(jià)值,感興趣的小伙伴可以了解一下2023-06-06Spring Cloud微服務(wù)架構(gòu)的構(gòu)建:分布式配置中心(加密解密功能)
這篇文章主要給大家介紹了關(guān)于Spring Cloud微服務(wù)架構(gòu)的構(gòu)建:分布式配置中心(加密解密)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2018-05-05舉例講解Java設(shè)計(jì)模式編程中模板方法模式的運(yùn)用實(shí)例
這篇文章主要介紹了Java設(shè)計(jì)模式編程中模板方法模式的運(yùn)用實(shí)例,模板方法模式強(qiáng)調(diào)基于繼承的代碼復(fù)用,需要的朋友可以參考下2016-05-05java多線程開(kāi)發(fā)ScheduledExecutorService簡(jiǎn)化方式
這篇文章主要為大家介紹了java多線程開(kāi)發(fā)ScheduledExecutorService的簡(jiǎn)化方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03SpringBoot之返回json數(shù)據(jù)的實(shí)現(xiàn)方法
這篇文章主要介紹了SpringBoot之返回json數(shù)據(jù)的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12