Hibernate createNativeQuery с использованием предложения IN - PullRequest
2 голосов
/ 02 февраля 2011

Используя Java, Hibernate.

У меня есть запрос

String pixIds = "1,2,3";
String query = "SELECT * FROM comment WHERE PIX_ID IN (:pixIds)";
q.setParameter("pixIds", pixIds);
List<Object[]> results =  q.getResultList();

Я не могу связать этот параметр с pixIds с помощью кода выше.Как правильно это сделать?

Примечание: приведенный здесь запрос является упрощенной версией моего фактического запроса.

Ответы [ 2 ]

5 голосов
/ 18 июля 2012

работает следующий метод
public Query setParameterList (имя строки, значения коллекций) выдает HibernateException

4 голосов
/ 02 февраля 2011

Hibernate не поддерживает привязку коллекции к IN (...) в запросах SQL.

Вам нужно работать так же, как и с обычным JDBC: для данной коллекции динамически генерировать запрос с соответствующим числом ? с в предложении IN, а затем привязывать элементы этой коллекции к ? с.

...