[英]Spring data jpa repository find by multi elements
我在我的项目中使用Spring Data JPA
。 因此,在存储库中,我通过以下方式定义列表:
List<Branch> findByNameContainingAndByTypeContaining(String name, String type)
它在这种情况下有效,但是,在搜索表单中,我获得了10多个搜索条件,这意味着在搜索方法中,它需要10多个元素,并且适当地,它们的值域具有价值。
例如:
name: abc
type: primary
enabled: true
createdBy: null
modifiedBy: null
and so more
对于findBy
方法,如果我发送空白,则可以,但是值为空。 而且,要搜索的字段很多。 因此,我正在寻找一种更好的方式来搜索这样的表单。 在Grails框架中,我可以为此创建nameQueries,但在Spring JPA
找不到更好的方法。
有任何想法吗? 谢谢。
您可以使用QueryByExample API,例如:
Branch branch = new Branch();
branch.setName("Foo");
branch.setEnabled(true)
ExampleMatcher matcher = ExampleMatcher.matching();
Example<Branch> example = Example.of(branch, matcher);
branchRepository.findAll(example)
您可以选择包含或忽略null
值,并指定区分大小写等。
更多示例在Spring Data Docs中 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.