Почему подстановка параметров в HQL-Query не удалась, а собственный тип завершился успешно? - PullRequest
0 голосов
/ 09 августа 2011

была ли у кого-нибудь из вас проблема с тем, что подстановка параметров в HQL-запросе не работала?

Я использую hibernate для некоторых, как мне кажется, простых запросов, получая объекты из моей базы данных MySQL.

Вот запросы:

entityManager.
            createQuery("SELECT c FROM PersistentEvent c WHERE c.sessionId LIKE :sessionId").
            setParameter("sessionId", session.getId()).getResultList();

Не дает результата! При отладке я видел session.getId () возвращает правильное значение.

entityManager.
                createQuery("SELECT c FROM PersistentEvent c WHERE c.sessionId LIKE :sessionId").
                setParameter("sessionId", "TestSessionId - 1").getResultList();

Работает для моих тестовых данных, где такая запись существует.

Есть предложения? Спасибо

1 Ответ

3 голосов
/ 09 августа 2011

После того, как вы опубликовали запрос, который генерирует Hibernate, я заметил, что session.getId() вставляет TestSession - 1 вместо TestSessionId - 1, что было в вашем жестко закодированном примере.

...