Spring JPA queryByExample с условиями
Я использую Sping JPA и получаю данные с помощью jparepository findall
метод. Обычно это работает путем сравнения строки. Исходный код ниже:
public Page<TranxLog> findAllByConditions(TranxReportFormModel formModel, Pageable page) {
ExampleMatcher matcher = ExampleMatcher.matching()
.withNullHandler(ExampleMatcher.NullHandler.IGNORE)
.withStringMatcher(ExampleMatcher.StringMatcher.CONTAINING)
.withIgnoreCase()
.withIgnoreNullValues();
Example<TranxLog> example = Example.of(formModel.getTranxLog(), matcher);
return tranxlogRepository.findAll(example, page);
}
Сейчас я бы запросить по сравнению datetime
в Tranxlog
между dateFrom
а также dateTo
так же как tranxType
в списке и так далее.
Я не хочу определять метод в tranxlogRepository
лайк findAllByTranxTypeIn(Array tranxtype)
потому что есть некоторые поля в критериях поиска, могут иметь нулевое значение.
Я тоже ищу .withMatcher
но не нашел никакого решения.
Любая идея? Спасибо.