我想根據用戶可以通過HTML表單指定的各種條件執行SELECT
查詢。查詢中的每個條件都映射到HTML表單中的適當字段。如果沒有爲字段指定值,則可以在查詢中跳過相應的條件。如何根據用戶從HTML表單中動態生成選擇查詢
的完全形成的查詢如下所示:
select
d
from
TotalInventoryTransaction d
where
d.transactionDate between ?1 and ?2
and d.material=?3
and d.shipmentOrder between ?4 and ?5
and d.source = ?6
and d.destination= ?7
春季數據JPA存儲庫的方法如下:
@Query(FILTER_DATA_QUERY)
List<TotalInventoryTransaction> getFilteredData(Date dateFrom
, Date dateTo
, Long material
, Long stoFrom
, Long stoTo
, String source
, String destination);
我想通過FILTER_DATA_QUERY
該方法以這樣的方式即如果未指定方法參數,則在執行的查詢中跳過其對應的子句。
請建議如何實現這一點。
你是說如果'material'參數的值是'null',查詢子句'和d.material =?3'應該跳過(因爲沒有指定材質),所以上? – manish
是............ – Priya