у меня есть сценарий, как мне нужно искать данные, которые содержат мой текст поиска, где othercolumn равен идентификатору столбца,
в основном поиск должен проводиться по имени, фамилии, электронной почте, контактному номеру, где id = someinteger
Я пытался с оператором запроса «как», как показано ниже
@Query("select p from Patient p where p.subscriber.id=?1 and (upper(p.firstname) like %?2% OR upper(p.lastname) like %?3% OR p.cellPhone like %?4% OR p.id = ?5 OR upper(p.email) like %?6%)")
List<Patient> findPatientByText(long subid, String name, String lastname, String num, int id, String email);
вышеуказанный запрос не работает без учета регистра.
после некоторого поиска я обнаружил, что может помочь содержащиеся в нем Ignorecase, но это поиск по всей таблице, но мне нужно искать только там, где идентификатор задан целым числом.
метод репозитория, который я попробовал, это.
List<modelclas> findBySubscriberIdAndFirstnameContainingIgnoreCaseOrLastnameContainingIgnoreCaseOrEmailContainingIgnoreCase(long id,
String searchText, String searchText2, String searchText3);
мне нужно, чтобы результат поиска был только wer subscriber.id = id, а «ИЛИ» должны применяться к другим столбцам