java - 有没有一种方法可以使用 JPA 存储库方法关键字来搜索列中的术语列表?
问题描述
我有一个item
表,其中包含一个带有name
字段的项目。
我正在尝试通过给定搜索词列表来搜索这些项目,其中每个返回name
的项目都包含所有术语,例如:
给定搜索词
车轮
手推车
然后项目
独轮车
大手推车
将被退回,而
车轮
手推车
不会。
我想使用现有的ItemRepository
来执行此操作,并且想知道 JPA 是否可以通过方法名称关键字来执行此操作?
我知道Contains
如果我只有一个搜索词,我可以使用关键字来执行此操作,但该关键字不支持 Collection 参数。
解决方案
您可以执行一些逻辑来构建一个包含所有值连接的字符串,例如:
String allValues = items.stream()
.collect(Collectors.joining(delimiter, prefix, suffix));
然后您可以使用 contains 方法调用您的 ItemRepository
推荐阅读
- php - 如何在 Laravel 中使用 FOREACH 从数据库中获取数据?
- r - For 循环在第 2 行后创建 NA
- android - 反应原生。每当应用程序来自后台时,如何获取用户本地身份验证?
- python - 用 NA 填充 Categorical NaN 值,用 0 填充 Numerical NaN
- python - Python 帮助:用 Pandas 合并/加入替换 Excel 中的 V-Lookup
- c# - unity track 物体位置
- rust - 调整 Rust 函数以处理 PrinInt 而不是 i64 的指导
- java - 为什么即使文件已关闭,Java 也不会删除我的文件?
- algorithm - 如何使用回溯返回子集和问题的所有可能解决方案的数量
- r - 如何清空 data.table