You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Data JPA查询参数启动时未校验问题咨询

Spring Data JPA启动阶段未校验@Query参数绑定错误的问题

之前一直以为Spring Boot启动(比如执行./gradlew bootrun)时会校验@Query注解的参数绑定,但最近遇到了运行时异常:

org.springframework.dao.InvalidDataAccessResourceUsageException: Named parameter not bound : someParamWithTypo
    nested exception is org.hibernate.QueryException: Named parameter not bound : someParamWithTypo

对应的查询代码如下:

@Query("FROM MyEntity WHERE someField = :someParamWithTypo")
MyEntity search(@Param(name = "someParam") String someParam);

可以看到@Query里引用的参数是:someParamWithTypo,但实际方法参数的@Param指定的名称是someParam,参数名完全不匹配,但应用启动却完全正常。奇怪的是,如果故意把MyEntity改成无效的类名(比如MyEnnnntity),启动时就会直接报错。

环境信息:

  • Spring Boot: 2.7.1
  • Hibernate: 5.6.9

内容的提问来源于stack exchange,提问作者Josh M.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 10:55:30