簡體   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