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);
}
相关文章