2008-09-18 6 views
2

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

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

+0

Не могли бы вы предоставить пример запроса, для которого вы хотели бы передать массив/коллекцию? – 2008-09-22 23:04:45

ответ

1

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

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

select * from Foo f where f.a in f.list 
+0

Как вы привязываетесь к списку? – ncgz 2008-09-24 14:11:07

0

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

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

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

0

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

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

query.SetParameterList("foolist", list) 
0

Hibernate perspective

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

Смежные вопросы