簡體   English   中英

如何編寫查詢參數為列表的JPARepository查詢?

[英]How to write JPARepository query where a query parameter is a list?

Spring Data的JPARepository文檔提供了以下示例

List<User> findByLastname(String lastname);

for和SpringData將完成生成正確查詢的所有工作,並將返回正確的用戶。

但是假設我想獲得50個用戶,並且我有他們的姓氏列表。 我不想調用上述方法50次。 我想將JPA稱為

select *
from user
where last_name in ('N0', 'N1', 'N2'... 'N49');

現在查看文檔,我看到了一些可能性,例如命名查詢和規范。 命名查詢似乎需要在Java批注中指定SQL。 在示例中,與findAll方法使用的規范具有ishasMoreThan類型方法,但是我看不到任何會in查詢中變成in 規范的Javadocs沒有任何示例用法。

一個人如何在創建一個方法JPARepository通過的可能性列表查詢?

你用

List<User> findByLastnameIn(Collection<String> lastnames);

這里更多。 (表4,第5至最后一行)

創建一個要用作查詢參數的姓氏數組。 然后嘗試以下方法:findAllInLastName(List lastNames); 擴展JpaRepository類時,只要遵循創建查詢方法名稱的正確格式,Spring數據就會自動搜索合適的查詢方法。 希望這對您有所幫助。 並嘗試閱讀Spring Data在線文檔。 干杯哥!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM