Я использую Spring Data JPA с собственными запросами, как показано ниже.
public interface ItemRepository extends JpaRepository<ItemEntity, Long> {
@Query(value = "select * from items i where i.category = :itemCategory and i.item_code = :itemCode", nativeQuery = true)
Page<ItemEntity> search(@Param("itemCategory") String itemCategory, @Param("itemCode") String itemCode, Pageable pageable);
}
Теперь мой вариант использования
- Он
itemCode
доступен, следует вернуть только товар с этим кодом из этой категории. - Но если
itemCode
недоступен, то все элементы в этой категории должны быть возвращены.
Таким образом, проблема с вышеуказанной категорией заключается в том, что когда itemCode
передается как NULL
, данные не возвращаются, поскольку они ничему не соответствуют. тогда как требование заключается в том, что его следует игнорировать.
Итак, есть ли способ дополнительно добавить предложение в собственный запрос Spring Data JPA. Я знаю, что это возможно с CriteriaQuery
, но можем ли мы сделать что-то подобное для нативных запросов?
Спасибо