java.lang.IllegalArgumentException:参数绑定的名称不能为null或为空

乔希·科克伦(Josh Cochrane):

目前,我在订购jqpl查询时遇到此错误:

Name for parameter binding must not be null or empty! On JDKs < 8, you need to use @Param for named parameters, on JDK 8 or better, be sure to compile with -parameters

我处于前一种情况,因此我需要使用@Param,但不确定如何执行此操作。目前是关于我的JPQL的情况:

@Query("SELECT p FROM DePerson p, DeClass c, DeSchool s" +
    "WHERE p.personId = c.id " +
    "AND su.schoolId = s.id " +
    "ORDER BY :ordering")
Page<DeSiteUser> orderingAll(Page page, String ordering, Pageable pageable);

所以很明显,我需要为要在排序字符串中传递的值实现@Param。我正在尝试实现的是实现一种排序方法,该方法将允许一个值,例如:

http://localhost:8080/api/person?sorting=city

要传递给查询的值城市,然后根据该值对信息进行分类。在这种情况下,如何将现有的jpql传递给@Param,以使其能够工作1.但允许2.进行订购。谢谢。

埃克拉夫亚:

采用 @Param("ordering")

@Query("SELECT p FROM DePerson p, DeClass c, DeSchool s" +
    "WHERE p.personId = c.id " +
    "AND su.schoolId = s.id " +
    "ORDER BY :ordering")
Page<DeSiteUser> orderingAll(@Param("ordering") String ordering, Pageable pageable);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我得到的异常,而在本地主机给输入“java.lang.IllegalArgumentException异常:目标对象不能为空”?

参数绑定的名称不能为null或为空!对于命名参数,您需要使用@Param作为Java版本上的查询方法参数

Java中的“表名称模式不能为NULL或为空”

错误:java.lang.IllegalArgumentException:给定的ID不能为null!-春季启动,Mysql

JAXB给我:java.lang.IllegalArgumentException:is参数不能为null

java.lang.IllegalArgumentException:方法不能为null

原因:java.lang.IllegalArgumentException:应用程序上下文不能为null

java.lang.IllegalArgumentException:密钥字节数组不能为null或为空

Hibernate findAll(example)抛出“ java.lang.IllegalArgumentException:目标对象不能为空”

由java.lang.IllegalArgumentException引起:MediaButtonReceiver组件不能为null

java.lang.IllegalArgumentException:迭代变量不能为null

引起原因:java.lang.IllegalArgumentException:令牌(spring.cloud.vault.token)不能为空-Hashicorp Vault

grails spock测试失败,出现“ java.lang.IllegalArgumentException:ServletContext不能为空”

Spring Data Rest MongoDB java.lang.IllegalArgumentException:PersistentEntity不能为null

java.lang.IllegalArgumentException:触发获取请求时,主机名不能为null

Android Studio错误java.lang.IllegalArgumentException:资源名称不能为空

java.lang.NullPointerException:com.bumptech.glide.util的参数不能为null

Google Drive REST API:java.lang.IllegalArgumentException:名称不能为空:null

java.lang.IllegalArgumentException:用户名不能为null或为空,AbstractXMPPConnection.java:484

ParallelRunner:java.lang.IllegalArgumentException:提供的TestContext的测试方法不能为null

Kotlin视图绑定java.lang.IllegalStateException:侦听器内的视图不能为null

java.lang.IllegalArgumentException:主机名不能为null

原因:java.lang.IllegalArgumentException:主机名不能为null

要转换的节点不能为null:Hibernate查询给出java.lang.IllegalArgumentException

java.lang.IllegalArgumentException:视图不能为null;在Android中实现UIL displayImage函数时

Java swt IllegalArgumentException:参数不能为空

OrientDB:java.lang.IllegalArgumentException 属性值不能为空

java.lang.IllegalArgumentException:SQL 数组不能为空

引起:java.lang.IllegalArgumentException:模式不能为空或为空