【发布时间】:2019-07-25 09:41:45
【问题描述】:
我在 SpringBoot 应用程序中使用 Apache Ignite 作为后端数据存储。 我有一个要求,我需要从一组名称中获取名称与其中一个名称匹配的所有实体。
因此我尝试使用@Query 配置和名为findAllByName(Iterable<String> names) 的方法来实现它,如下所示:
在Query 上,我正在尝试使用'IN' 子句并希望将names 的数组作为'IN' 子句的输入传递。
@RepositoryConfig(cacheName = "Category")
public interface CategoryRepository extends IgniteRepository<Category, Long>
{
List<Category> findByName(String name);
@Query("SELECT * FROM Category WHERE name IN ( ? )")
Iterable<Category> findAllByName(Iterable<String> names); // this method always returns empty list .
}
在这种情况下,方法 findAllByName 总是返回空列表,即使 ignite 具有 Categories ,其中 name 字段与查询中传递的数据匹配。
我无法确定语法或方法签名或参数的查询是否有问题。
【问题讨论】:
标签: sql spring-data ignite in-clause