Recherche d'une propriété d'objet dans une liste prédéfinie à l'aide de HQL

StackOverflow https://stackoverflow.com/questions/1805023

  •  05-07-2019
  •  | 
  •  

Question

J'essaie de créer une requête dans HQL pour voir si l'identifiant d'une personne est dans une liste d'identifiants prédéfinis.

Par exemple, je souhaite rechercher toutes les personnes dont l'identifiant est 1 ou 2 dans une base de données.

Le problème est que je ne peux pas le faire: depuis Personne personne avec id dans éléments (: ids) car ceux-ci attendent un identifiant (comme person.childIds par exemple) et non un paramètre nommé.

Existe-t-il un moyen de le faire sans recourir à l'analyse de List et à la création manuelle de la chaîne?

Merci.

Était-ce utile?

La solution

Il suffit de définir une collection dans la requête.

query.setParameterList("userIds", new Integer[] {1,2});

Puis dans votre requête

FROM User WHERE id IN (:userIds)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top