Почему setParameter не устанавливает параметр?
Я использую следующий код для (попытки) запроса базы данных:
Query query = session.createQuery("from Trace where service = :service");
query.setParameter("service", clientRequest[0]);
Где clientRequest [0] из массива строк, а служебная переменная - это строка в моем POJO, сопоставленная с VARCHAR (45) в моей базе данных MySQL.
Когда я запускаю этот код, Hibernate показывает выполненный SQL-запрос как:
Hibernate: select trace0_.traceId as traceId0_, trace0_.service as service0_, trace0_.longitude as longitude0_, trace0_.latitude as latitude0_, trace0_.timestamp as timestamp0_ from trace trace0_ where trace0_.service=?
Что приводит меня к мысли, что значение clientRequest [0] не устанавливается правильно в качестве параметра.
Я проверил, что clientRequest [0] содержит допустимую строку, что он и делает. Я пробовал другие способы создания запроса, но ни один из них не сработал, они всегда показывают службу как «?», Хотя, если я использую очевидное:
Query query = session.createQuery("from Trace where service = 21");
это естественно дает правильный ответ
Hibernate: select trace0_.traceId as traceId0_, trace0_.service as service0_, trace0_.longitude as longitude0_, trace0_.latitude as latitude0_, trace0_.timestamp as timestamp0_ from trace trace0_ where trace0_.service=21
Что может помешать правильной работе setParamater?