Hibernate Critères d'équivalent dans les sous-requêtes DANS la clause?
Je voudrais traduire une requête comme celle-ci:
FROM Entity_1 obj
WHERE obj IN (FROM Entity2) OR
obj IN (FROM Entity3)
À hibernate Critères de forme, et l'officiel documentation de Hibernate n'est pas suffisant car il ne dit pas comment appliquer le IN
déclaration.
Tout soupçon?
Vous devez vous connecter pour publier un commentaire.
Les critères de l'API n'ont pas de possibilité d'ajouter une autre requête comme une restriction.. je pense que @Niroshan Abayakoon essayais de dire, c'est que vous avez besoin pour exécuter les requêtes pour le
IN
clause separemment, & ajouter le résultat de laRestrictions.in()
condition.cela se hibernate pour examiner la liste dans le
IN
clause.C'est toujours mieux de secours à HQL dans des situations de ce genre.
Restrictions.in(String, String)
attend un propertyName en tant que premier paramètre (et je suppose que vous essayez de passer Entity2.class ou "Entité", aucun d'eux ne fonctionne).Entity2 and Entity3
sont considérés comme une chaîne de caractères contenant le nom de la propriété.. j'ai mis à jour ma réponse.