首页 > 解决方案 > 有没有一种方法可以使用 JPA 存储库方法关键字来搜索列中的术语列表?

问题描述

我有一个item表,其中包含一个带有name字段的项目。

我正在尝试通过给定搜索词列表来搜索这些项目,其中每个返回name的项目都包含所有术语,例如:

给定搜索词

然后项目

将被退回,而

不会。

我想使用现有的ItemRepository来执行此操作,并且想知道 JPA 是否可以通过方法名称关键字来执行此操作?

我知道Contains如果我只有一个搜索词,我可以使用关键字来执行此操作,但该关键字不支持 Collection 参数。

标签: javaspringspring-bootjparepository

解决方案


您可以执行一些逻辑来构建一个包含所有值连接的字符串,例如:

String allValues = items.stream()
            .collect(Collectors.joining(delimiter, prefix, suffix));

然后您可以使用 contains 方法调用您的 ItemRepository


推荐阅读