2008-09-18 11 views
2

Comment lier un paramètre de tableau dans l'éditeur HQL du plugin HibernateTools? La liste de types de paramètres de requête n'inclut pas de tableaux ou de collections. Par exemple:
Select * from Foo f where f.a in (:listOfValues).
Comment lier un tableau à ce listOfValues?Utilisation des paramètres de tableau dans le plugin Eclipse HibernateTools

+0

Pourriez-vous s'il vous plaît fournir un exemple de requête pour lequel vous souhaitez passer un tableau/collection? –

Répondre

1

Vous ne pouvez probablement pas. Hibernate remplace les objets qu'il extrait de la base de données par ses propres objets (type de proxy). Je suppose fortement que Hibernate ne peut pas le faire avec un tableau. Donc, si vous voulez lier les données de tableau, mettez-les dans une liste à l'accès par Hibernate.

À titre d'exemple on pourrait faire:

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

Comment vous lier à une liste? – ncgz

0

Je suis sûr que vous avez déjà la réponse pour cela, mais pour toute personne qui consulte d'autre cela. il semble que l'éditeur HQL pour les outils hibernate ne supporte pas l'interrogation des collections. vous whould devez pas utiliser le paramètre et le code dur tout en testant dans les outils Hibernate HQL éditeur

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

Le changement de la requête revenir à ce que Boutta affiché lorsque vous mettez le dans votre code.

0

Voici comment vous passez une liste à une requête HQL. Je ne suis pas familier avec l'éditeur HQL ... nous sommes du monde Nhibernate.

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

query.SetParameterList("foolist", list) 
0

Hibernate perspective

Dans la perspective de mise en veille prolongée, vous pouvez voir sur le côté gauche vous pouvez voir le panneau gauche pour entrer dans le paramètre de requête, lorsque vous entrez dans la: variable dans le champ et exécutez la requête que vous obtiendrez le résultat

Questions connexes