[英]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
方法使用的規范具有is
和hasMoreThan
類型方法,但是我看不到任何會in
查詢中變成in
。 規范的Javadocs沒有任何示例用法。
一個人如何在創建一個方法JPARepository
通過的可能性列表查詢?
創建一個要用作查詢參數的姓氏數組。 然后嘗試以下方法:findAllInLastName(List lastNames); 擴展JpaRepository類時,只要遵循創建查詢方法名稱的正確格式,Spring數據就會自動搜索合適的查詢方法。 希望這對您有所幫助。 並嘗試閱讀Spring Data在線文檔。 干杯哥!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.