Spring数据存储库-查找列表中的位置字段 [英] Spring Data Repositories - Find where field in list
本文介绍了Spring数据存储库-查找列表中的位置字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将SpringPagingAndSortingRepository
与find MyEntity where field in fieldValues
查询一起使用,如下所示:
@Repository
public interface MyEntity extends PagingAndSortingRepository<MyEntity, String> {
List<MyEntity> findByMyField(Set<String> myField);
}
但没有成功。
我期望上面的函数返回其字段与其中一个字段值匹配的所有实体,但它只返回空结果。
尽管这似乎是一种非常直接的能力,但我在docs中找不到任何关于它的引用。
是否/如何实现这一目标?
谢谢。
推荐答案
如果您正在搜索实体中的特定字段,并且希望返回与某个集合中的至少一个条目匹配的所有字段的列表,则这确实是可能的。文档here说这可以使用关键字In
示例:findByAgeIn(Collection<Age> ages)
来实现,并且相当于… where x.age in ?1
从您的帖子来看,我不能100%确定这是否是您想要的用例,但请试一试。您需要搜索特定的字段,因此请将‘field’替换为您要搜索的任何字段。如果要在多个字段上进行搜索,则可以将结果与Or
关键字连接在一起,并以这种方式指定多个字段。
@Repository
public interface MyEntity extends PagingAndSortingRepository<MyEntity, String> {
List<MyEntity> findByFieldIn(Set<String> myField);
}
这篇关于Spring数据存储库-查找列表中的位置字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文