JPA JPQL IN子句:如何在JPA中使用IN子句?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JPA JPQL IN子句:如何在JPA中使用IN子句?相关的知识,希望对你有一定的参考价值。

@Query("SELECT al FROM Customer al WHERE al.companyCode = ?1 AND al.fileCode IN ?2")

列出findallByGroup(int CompanyCode,String groups);

要么

@Query("SELECT al FROM Customer al WHERE al.companyCode = :CompanyCode AND al.fileCode IN :groups")

List<Customer> findallByGroup(@Param("CompanyCode") int CompanyCode,@Param("groups") List<BigInteger> groups);

要么

@Query("SELECT al FROM Customer al WHERE al.companyCode = :CompanyCode AND al.fileCode IN (:groups)")

List<Customer> findallByGroup(@Param("CompanyCode") int CompanyCode,@Param("groups") List<BigInteger> groups);
答案
findAllByCompanyCodeAndFileCodeIn(int CompanyCode, List<String> groups)

你不需要@Query。 Spring数据可以从方法名称中理解查询。使用上述方法。

以上是关于JPA JPQL IN子句:如何在JPA中使用IN子句?的主要内容,如果未能解决你的问题,请参考以下文章

JPA Criteria builder IN 子句查询

JPA中带有IN子句的位置参数

JPQL typedquery 中 IN 子句的解析

如何在 JPA 命名查询的 IN 子句中使用动态参数?

从子句中的jpa eclipselink子查询

JPA将列表传递给命名本机查询中的IN子句