2015-06-17 4 views
0

Я пытаюсь реализовать службу для контроллера отдыха, которая принимает дополнительные параметры фильтра, такие как имя, фамилия, возраст и т. Д. Я хочу использовать метод JpaRepository, как показано ниже. Проблема в том, что если параметр имеет значение null, то записи не найдены.spring data null arguments

Когда аргумент null, я не хочу, чтобы в этом поле происходило фильтрация. Есть ли способ реализовать это из коробки с помощью JpaRepository?

Page<Customer> findByLastNameAndByFirstNameAndByAge(String lastName, String firstName, int age, Pageable pageable); 

ответ

1

Из the spring docs Таблицы 2.2 означает, что вы могли бы использовать что-то похожее на findByLastnameOrFirstnameOrAge, который будет игнорировать нулевые значения.

Если вы не получите то, что хотите, вам нужно будет сделать это с помощью Спецификации (см. Раздел 3 вышеуказанного документа).

+0

The or не будет работать, так как мне нужна комбинация фильтров, но похоже, что спецификация сделает трюк. Спасибо! – redwhite

Смежные вопросы