SPEL 不适用于对象内部集合的“in”运算符

问题描述 投票:0回答:1
@Query("select distinct product from Product product where product.name in :#{#filters.names}")
Set<Product> findAllForFilter(Filters filters);
public class Filters {
    private Set<String> names;
}

2023-09-19 12:02:17.183警告6316 --- [nio-8080-exec-6] .m.m.a.ExceptionHandlerExceptionResolver:已解决[org.springframework.dao.InvalidDataAccessApiUsageException:org.hibernate.hql.internal.ast.QuerySyntaxException :意外的 AST 节点:{向量} [从...中选择不同的产品

您好,我正在尝试使用集合中的多个元素执行查询。然而它不起作用,但它适用于单个元素。

java spring jpa spring-el
1个回答
0
投票

我认为问题出在查询语法中:

你应该拥有下一个

@Query
身体

@Query("select distinct product from Product product where product.name in (:#{#filters.names})")
Set<Product> findAllForFilter(Filters filters);
© www.soinside.com 2019 - 2024. All rights reserved.