“ In子句”不适用于传递多个值
存储库代码
X
通过服务呼叫
@Query( "select myObject from MyObject myObject where myObject.anyColumn in :values" )
public List<MyObject> findPriDestByCntryAbbr(@Param("values") List<String> values);
当我传递单个值时,它正在从表中检索正确的信息,但是在传递列表“值”中的多个值时会给出空结果
答案 0 :(得分:0)
理想情况下,它应该可以工作。您应该检查values变量。
您可以尝试的另一种方法是-无需编写查询。 根据{{3}},我们可以通过扩展Repository接口来创建MyObjectRepository接口,然后使用一种方法来获取所有MyObjects。就像这样:
public interface MyObjectRepository extends Repository<MyObject,**Long**> {
List<MyObject> findBy**AnyColumn**In(Collection<String> values);
}
“ AnyColumn”是您的列名,Repository接口的第二个参数根据您的要求。