Использование параметров массива в плагине Eclipse HibernateTools - PullRequest
2 голосов
/ 18 сентября 2008

Как связать параметр массива в редакторе HQL плагина HibernateTools? Список типов параметров запроса не включает массивы или коллекции.

Например:
Select * from Foo f where f.a in (:listOfValues).
Как я могу связать массив с этим listOfValues?

Ответы [ 4 ]

1 голос
/ 23 сентября 2008

Вы, вероятно, не можете. Hibernate заменяет объекты, которые он получает из базы данных, своими собственными объектами (своего рода прокси). Я бы настоятельно предположил, что Hibernate не может сделать это с массивом. Поэтому, если вы хотите связать данные массива, поместите их в список при доступе с помощью Hibernate.

В качестве примера можно сделать:

select * from Foo f where f.a in f.list
0 голосов
/ 03 августа 2017

Hibernate perspective

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

0 голосов
/ 02 сентября 2011

Так вы передаете список в HQL-запрос. Я не знаком с редактором HQL ... мы из мира Nhibernate.

select * from Foo f where f.a in (:foolist)

query.SetParameterList("foolist", list)
0 голосов
/ 26 июля 2011

Я уверен, что вы уже получили ответ на этот вопрос, но для всех, кто просматривает это. похоже, что HQL-редактор для инструментов гибернации не поддерживает запросы к коллекциям. вам не придется использовать параметр и жестко его кодировать при тестировании в редакторе HQL Hibernate Tools

Select * from Foo f where f.a in (123,1234)

Изменение запроса обратно на то, что выложили в boutta, когда вы вставите его обратно в код

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