Я пытаюсь передать несколько параметров в собственный запрос в Spring JpaRepository:
@Query(value="select pat.id from Pathology pat, PathologySymptom psym "
+ "Where pat.id=psym.patologyId and psym.name IN (:symptoms)",nativeQuery=true)
public List<Long> findIdsBySymptoms(@Param("symptoms") String symptoms);
и тестирование:
String symptoms = "vomit";
try {
ids = pathologyRepository.findIdsBySymptoms(symptoms);
List<Pathology> paths = pathologyRepository.findAllById(ids);
assertNotNull(paths);
}catch(Exception ex) {
ex.printStackTrace();
}
Но когда я пытаюсь: String симптомов = "vomit ,тошнота"; Он не возвращает ничего, что я тоже пробовал: "рвота", "тошнота"; и «рвота», «тошнота»; с тем же результатом
Запрос:
select pat.name, pat.id
from
Pathology pat,
PathologySymptom psym
Where pat.id=psym.patologyId
and psym.name IN ('vomit','nausea');
Возвращает:
'stomach colic', '4'
Я также пытался добавить mysql функцию замены, но она не работала :
select pat.name, pat.id
from
Pathology pat,
PathologySymptom psym
Where pat.id=psym.patologyId
and psym.name IN (select replace('\'vomit\'#','#',''));
Запрос не завершается ошибкой, но ничего не возвращается.