JPA поиск по имени столбца с несколькими столбцами и с условиями «И» и «ИЛИ» - PullRequest
0 голосов
/ 07 мая 2019

у меня есть сценарий, как мне нужно искать данные, которые содержат мой текст поиска, где 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, а «ИЛИ» должны применяться к другим столбцам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...