JPA原生SQL(自定义SQL)分页查询逻辑详解
程序员文章站
2022-06-17 18:43:44
目录jpa原生sql(自定义sql)分页查询经过测试下面方法可以pageable对象里定义排序的字段jpa原生sql分页查询踩坑记录1.问题简述2.解决方案jpa原生sql(自定义sql)分页查询jp...
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 分页查询这个很简单,只要在接口上加上一个参数 pageable
比如
但是 仔细看 我自定义的 sql 这里用了 a.* 来只获取一张表的字段 .
但是他生成的 sql 语句就成了.
这样就导致了 查询异常.
2.解决方案
1.指定count的字段
在@query 注解中添加一个参数
然后,生成的sql语句就是
2.指定count的查询语句
同样也是 @query中添加参数
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
EF core的原生SQL查询以及用EF core进行分页查询遇到的问题
-
SQL Server中row_number分页查询的用法详解
-
ORACLE最高效的分页之分页查询SQL语法实例详解
-
Oracle数据库中SQL细节、多表查询、分组查询、分页操作详解
-
实例:MyBatis-Plus自定义联表分页查询-动态sql实现
-
spring-data-jpa使用自定义repository来实现原生sql
-
JPA原生SQL(自定义SQL)分页查询逻辑详解
-
SQL行号排序和分页(SQL查询中插入行号 自定义分页的另类实现)
-
EF core的原生SQL查询以及用EF core进行分页查询遇到的问题
-
PHPCMS 自定义SQL的 分页查询