我尝试将PagingAndSortingRepository
find MyEntity where field in fieldValues
与@Repository
public interface MyEntity extends PagingAndSortingRepository<MyEntity, String> {
List<MyEntity> findByMyField(Set<String> myField);
}
查询一起使用,如下所示:
{{1}}
但没有成功。
我希望上面的函数返回其字段与其中一个字段值匹配的所有实体,但它只返回空结果。
即使它看起来像一个非常直接的能力,我也找不到docs中对它的任何引用。
是/如何实现?
感谢。
答案 0 :(得分:11)
如果您正在搜索实体中的特定字段并且想要返回所有字段的列表,并且某个集合中至少有一个条目匹配,那么这确实是可能的。文档here表示可以使用关键字In
示例:findByAgeIn(Collection<Age> ages)
来实现这一点,相当于… where x.age in ?1
从您的帖子中我不能100%确定这是否是您所使用的用例,但请尝试一下。您需要搜索特定字段,因此请更换&#39;字段&#39;无论你在寻找什么领域。如果您在多个字段上搜索,可以将结果与Or
关键字连接起来,并指定多个字段。
@Repository
public interface MyEntity extends PagingAndSortingRepository<MyEntity, String> {
List<MyEntity> findByFieldIn(Set<String> myField);
}
答案 1 :(得分:3)
http://docs.spring.io/spring-data/jpa/docs/current/reference/html/
您的方法名称必须为import sys
sys.path.insert(0, '/home/httpd/localhost/mysite')
,因此您必须在末尾添加findByMyFieldIn
以获得In
查询。