Я пишу собственный запрос JPA для поиска записей. У меня есть таблица, скажем, «машины», которые содержат числовой столбец «емкость», который хранит емкость машины, входные данные поиска могут содержать список диапазонов емкости, в которых машины должны быть отфильтрованы.
Например, список диапазона может содержать
- от 10 до 20
- от 25 до 30
- от 32 до 40
Таким образом, машины, имеющие емкость между любыми из вышеуказанных диапазонов, должны быть выбраны.
Вот мой собственный запрос, который работает только для одного элемента из диапазонов емкости. Как сделать его динамическим, чтобы он поддерживал несколько таких мощностейMin изначения CapacityMax.
Заранее спасибо.
@Query(value = "SELECT * FROM machine m where m.status='A' " +
"and (:capacityMin IS NULL or (m.capacity>= :capacityMin and m.capacity<= :capacityMax))" , nativeQuery=true)
public List<Object[]> searchMachines(@Param("capacityMin") Integer capacityMin,@Param("capacityMax") Integer capacityMax);