У меня есть объект JPA, который имеет два атрибута для поиска с помощью оператора «ИЛИ» вместо «И». Это LedgerCode и Division:
Company comp = new Company();
ExampleMatcher matcher =
ExampleMatcher.matching().withStringMatcher(StringMatcher.CONTAINING)
.withIgnoreCase("name");
comp.setCountryCode(countryCode);
comp.setLedgerCode(ledgerCode);
comp.setDivision(division);
comp.setName(name);
List<Company> result = compSearchRepository.findAll(Example.of(comp, matcher));
Тогда результат SQL должен быть (при условии, что все параметры не нулевые):
SELECT d
FROM COMPANY d
WHERE d.countryCode = country
OR d.ledgerCode = ledger
OR d.division = division
AND lower(d.name) LIKE '%name%'
Является ли это возможным? Если да, то как? Я не смог найти ни одного примера кода в Google, ни подходящего имени метода в классе ExampleMatcher.