#java #spring #spring-data #spring-data-jdbc #query-by-example
Вопрос:
На мой взгляд, я отправляю асинхронный запрос контроллеру с данными Json следующим образом:
{
"filters":{
"someField":"someValue",
"someField":"someValue",
"someField":null,
"someField":null,
}
}
Но данные могут быть разными.
И у меня есть объект заказа с теми же полями, поэтому я могу преобразовать его из Json в POJO
После этого, используя JPA, я могу сделать следующее:
Example<Order> orderExample = Example.of(orderFromJson);
orderRepository.findAll(orderExample);
Но я использую spring-data-jdbc, который его не поддерживает, что может его заменить?
Ответ №1:
В подобных случаях, когда прямая поддержка не предлагается, правильный подход заключается в том, чтобы JdbcTemplate
ввести или NamedParameterJdbcTemplate
ввести и построить необходимый SQL на основе информации о фильтре. Вы можете сделать этот метод пользовательским методом репозитория.