Spring Boot JPA 分页异常

我正在为我的服务实现分页,其中限制和偏移量是请求正文的一部分。当我在服务级别的 PageRequest 中设置这些值时,我收到以下错误和实现


Caused by: java.lang.IllegalArgumentException: Either use @Param on all parameters except Pageable and Sort typed once, or none at all!

    at org.springframework.util.Assert.isTrue(Assert.java:92) ~[spring-core-4.3.12.RELEASE.jar:4.3.12.RELEASE]

    at org.springframework.data.repository.query.Parameters.assertEitherAllParamAnnotatedOrNone(Parameters.java:297) ~[spring-data-commons-1.13.8.RELEASE.jar:na]

    at org.springframework.data.repository.query.Parameters.<init>(Parameters.java:91) ~[spring-data-commons-1.13.8.RELEASE.jar:na]

    at org.springframework.data.jpa.repository.query.JpaParameters.<init>(JpaParameters.java:43) ~[spring-data-jpa-1.11.8.RELEASE.jar:na]

    at org.springframework.data.jpa.repository.query.JpaQueryMethod.createParameters(JpaQueryMethod.java:325) ~[spring-data-jpa-1.11.8.RELEASE.jar:na]

    at org.springframework.data.jpa.repository.query.JpaQueryMethod.createParameters(JpaQueryMethod.java:53) ~[spring-data-jpa-1.11.8.RELEASE.jar:na]

    at org.springframework.data.repository.query.QueryMethod.<init>(QueryMethod.java:77) ~[spring-data-commons-1.13.8.RELEASE.jar:na]

    at org.springframework.data.jpa.repository.query.JpaQueryMethod.<init>(JpaQueryMethod.java:89) ~[spring-data-jpa-1.11.8.RELEASE.jar:na]

学生要求:


{

  "name": "string",

  "paging": {

    "limit": 0,

    "startOffset": 0

  }

}


汪汪一只猫
浏览 486回答 2
2回答

慕桂英4014372

检查错误:use @Param on all parameters except Pageable and Sort typed once, or none at all!这意味着你不能使用@Param的Pageable(或PageRequest)和Sort参数,它们被弹簧自动处理。只需删除它@Param("pageRequest"),它就会起作用。提示:使用Pageable接口而不是PageRequest类。

紫衣仙女

看起来失败的断言只是想让你要么拥有AllParamAnnotatedOrNone. 所以你会这样做:public List<Student> getAll(@Param("studentRequest") StudentRequest studentRequest,&nbsp;&nbsp; &nbsp; @Param("pageRequest") PageRequest pageRequest);即使你没有使用它;您只需要一种模式(即命名为 Spring Data params)或另一种(即推断的 Spring Data param 名称)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java