2012-03-01 1 views
0

Juste un rapide. Si j'utilise une requête EJBQL avec des paramètres nommés, puis-je utiliser le même nom de paramètre deux fois dans une même requête pour éviter d'avoir à définir deux fois la valeur lorsque je souhaite exécuter la requête? Par exemple, je voudrais pouvoir faire quelque chose comme ceci:Les paremètres EJBQL nommés peuvent-ils être répétés dans une requête?

SELECT g FROM Group g WHERE g = :group OR g.parent = :group 

... alors que faire:

query.setParameter("group", theGroup); 

renseignera les deux champs. Est-ce possible? Je me rends compte que je pourrais juste exécuter ceci et voir, mais j'ai pensé que demander d'abord pourrait me sauver (et n'importe qui d'autre qui arrive à trouver cette question) un peu de temps et de frustration.

+0

Fonctionne dans Hibernate. Je ne connais pas d'autres implémentations. –

+0

Oui, ça semble fonctionner correctement dans Hibernate. Pensez-vous que ce serait vraiment spécifique à la mise en œuvre? – aroth

+0

Non, je ne pense pas que ce serait spécifique à l'implémentation. Mais je n'ai pas lu les spécifications, et je ne veux pas donner une réponse qui est fausse à cause d'une autre implémentation que je ne connais pas. –

Répondre

1

Oui, cela fait partie de la spécification. Cela n'a pas de sens qu'une spécification insiste pour passer un nom de paramètre supplémentaire avec une valeur de doublage

Questions connexes