java – Spring Data Repositories – 查找列表中的where字段

我正在尝试使用 spring PagingAndSortingRepository和find MyEntity,其中fieldValues中的字段查询如下:
@Repository
public interface MyEntity extends PagingAndSortingRepository<MyEntity,String> {

    List<MyEntity> findByMyField(Set<String> myField);

}

但没有成功.

我希望上面的函数返回其字段与其中一个字段值匹配的所有实体,但它只返回空结果.

即使它看起来像一个非常直接的能力,我在docs中找不到它的任何参考.

是/如何实现?

谢谢.

解决方法

如果您正在搜索实体中的特定字段并且想要返回所有该字段的列表,并且某个集合中至少有一个条目匹配,那么这确实是可能的.文档 here说这可以使用关键字在例如:findByAgeIn(Collection< Age> ages)中实现,并且相当于…其中x.age in?1

从你的帖子我不是100%确定这是你正在使用的用例,但尝试一下.您需要搜索特定字段,因此将“字段”替换为您要搜索的字段.如果要搜索多个字段,则可以将结果与Or关键字连接,并以这种方式指定多个字段.

@Repository
public interface MyEntity extends PagingAndSortingRepository<MyEntity,String> {

    List<MyEntity> findByFieldIn(Set<String> myField);

}

相关文章

应用场景 C端用户提交工单、工单创建完成之后、会发布一条工...
线程类,设置有一个公共资源 package cn.org.chris.concurre...
Java中的数字(带有0前缀和字符串)
在Java 9中使用JLink的目的是什么?
Java Stream API Filter(过滤器)
在Java中找到正数和负数数组元素的数量