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