相信大家对SpringData JPA 自定义分页查询已经很熟悉了,今天博主遇见了一个奇怪的问题,记录下来,跟大家分享。
根据已经学习到的知识,对于@Query(nativeQuery = true, xxx)的分页,需要手动添加countQuery ="xxx", 于是我的代码类似如下
但是,比较诡异的是,不影响正常运行的情况下,控制台打印如下警告:
[http-nio-9532-exec-2] WARN o.s.d.j.r.q.SpelExpressionStringQueryParameterBinder - Setting the parameter with name 'null' and position '1' lead to an exception.
java.lang.IllegalArgumentException: Parameter with that position [1] did not exist
截图如下:
该情况当且仅当分页大小超过一页时出现,当只有一页时,该警告不会出现。
问题原因:暂未弄清楚,后续弄明白再补充,欢迎大家留言,一起解决问题。
问题解决:
修改 ORDER BY ?#{#pageable} 为 \n#{#pageable}\n , 注意"\n" 一定要加好。
截图如下:
惹人烦的WARN 异常不见了,干净的控制台回来了,身心轻松。