繁体   English   中英

Spring Data JPA存储库按多个元素查找

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM