[英]Spring Data (Hibernate) dynamic WHERE clause
我有一個這樣的存儲庫
@Repository
public interface LeadRequestRepository extends PagingAndSortingRepository<LeadRequest, UUID> {
@Query(value = "SELECT * FROM lead_request WHERE product IN :products AND current_status in :status", nativeQuery = true)
List<LeadRequest> findLeadRequests(@Param("products") List<String> products, @Param("status") List<String> status);
}
在此查詢中,狀態可以為空或空列表。
在這種情況下,查詢必須返回所有狀態(NEW、APPROVED、REJECTED 等)。 換句話說,查詢必須變成SELECT * FROM lead_request WHERE product IN :products
並且沒有status
子句。
我也很困惑,因為我使用了IN
子句,所以我不能使用 JPA Example API
如何使用 hibernate 和 jpa 實現這一目標?
有兩種選擇:
Specifications
JPA 標准查詢提供了抽象。 在此處查看Spring Data JPA 文檔
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.