JPQL 是否有可能返回所有結果并忽略參數(shù)中的空值而不是尋找空值?例如:@Query("SELECT p FROM PromoCode p " +
"WHERE (LOWER(p.name) LIKE LOWER(concat('%', concat(:query, '%'))) OR " +
"LOWER(p.promoCode) LIKE LOWER(concat('%', concat(:query, '%')))) AND p.type = :type")
Page<PromoCode> search(@Param("query") String query, @Param("type") PromoCode.Type type, Pageable pageable):type如果它為空,我該如何忽略它?
1 回答

MMTTMM
TA貢獻1869條經(jīng)驗 獲得超4個贊
您最可能需要的是一個CriteriaQuery
內置的自定義存儲庫。它專為您的需要而設計,構建依賴于各種因素的查詢。
如果你真的想堅持下去,@Query
你總是可以通過這種方式使該部分成為可選的:
AND (p.type = :type OR :type is null)
當有更多這樣的參數(shù)時,問題就開始浮出水面。您的查詢將難以維護和理解。
添加回答
舉報
0/150
提交
取消