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

如何通过Spring方法名查询实现IN表达式,替代@Query注解?

Spring Data JPA方法名查询实现IN条件

要实现你给出的SQL查询,不用@Query注解的话,直接利用Spring Data JPA的方法名命名规则即可,具体步骤如下:

  1. 确认实体类与字段映射
    假设数据库表COMPANIES对应的Java实体类是Company,表字段COMPANY_ADDRESS对应实体的驼峰命名属性companyAddress。

  2. 编写Repository接口方法
    在你的JpaRepository(或CrudRepository)接口中定义如下方法:

    List<Company> findByCompanyAddressIn(List<String> addresses);
    

    方法名遵循findBy + 实体属性名(驼峰) + In的规则,参数接收集合类型(List、Set均可),用来传递IN条件的取值列表。

  3. 调用方法执行查询
    调用时传入包含目标地址的集合即可,示例代码:

    List<String> targetAddresses = Arrays.asList("Texas", "California");
    List<Company> companies = companyRepository.findByCompanyAddressIn(targetAddresses);
    

Spring Data JPA会自动解析方法名,生成与你给出的原生SQL逻辑完全一致的查询语句。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 07:10:17