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

如何在Spring Boot的@Query注解中使用方法传入的参数?

@Query注解参数引用失效修复方案
  • 首先确认方法参数添加了@Param绑定
    占位符名称需要和@Param注解中声明的名称完全一致,示例如下:
    public interface FaceRepository extends JpaRepository<Face, Long> {
        // 注意参数前的@Param注解值和SQL里的:query完全匹配
        @Query(value = "你编写的MySQL查询语句", nativeQuery = true)
        List<Face> findAllFaces(@Param("query") String query);
    }
    
  • 确认原生SQL开关开启
    如果你写的是原生MySQL语法而非JPQL,必须添加nativeQuery = true属性,否则框架会按照JPQL规则解析,导致参数和语法识别异常。
  • 模糊查询参数提前拼接
    如果你的:query参数是用于模糊匹配,不要在SQL语句内拼接%,建议在业务调用层提前处理好参数再传入,避免语法错误:
    // 业务层调用示例
    String searchKey = "需要匹配的内容";
    String queryParam = "%" + searchKey + "%";
    List<Face> result = faceRepository.findAllFaces(queryParam);
    
  • 检查占位符拼写
    确认@Query中的:query拼写和@Param中的参数名完全一致,无大小写、特殊符号差异。

示例图片

内容的提问来源于stack exchange,提问作者codycoder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:06:04