Hibernate query où l'élément dans la liste
Quelqu'un peut-il suggérer la syntaxe correcte pour une clause where à l'aide in
appliqué à une liste? La requête suivante dans une .hbm fichier génère une parse
exception:
<query name="Nutrient.findNutrients1">
<![CDATA[from Nutrient as nutrient where nutrient.id in elements(?)]]>
</query>
L'exception suivante:
De l'ANALYSEUR.reportError(56) | ligne 2:95:
attend IDENT, found '?'
SessionFactoryImpl.(395) | Erreur
dans une requête nommée:
Des éléments nutritifs.findNutrients1
org.mise en veille prolongée.hql.ast.QuerySyntaxException:
attend IDENT, found '?' près de la ligne
2, colonne 95 [ à partir des éléments Nutritifs comme
des éléments nutritifs où des éléments nutritifs.id
éléments(?)
OriginalL'auteur G__ | 2010-10-10
Vous devez vous connecter pour publier un commentaire.
Supprimer la
elements
une partie de votre requête:Et à l'appeler comme ceci:
Vous pouvez utiliser soit la position ou le nom des paramètres dans les requêtes nommées. Mais ce n'est pas l'important, de toute façon. Je peux l'enlever si vous préférez 🙂
Plutôt que de supprimer, auriez-vous l'esprit en ajoutant un peu pour montrer comment passer en paramètre nommé dans ce contexte?
Je l'ai fait que dans ma première réponse. Voir ma mise à jour.
Désolé d'être dans le besoin ici, mais aussi de montrer une version de la requête qui utilise des paramètres positionnels? (Je suis sûr que je suis en train de faire quelque chose de stupide, mais c'est juste pas l'analyse que je l'attends)
OriginalL'auteur Pascal Thivent