Bonjour,
Je voudrais implémenter avec l'
API Criteria une requete de select imbriqués portant sur plusieurs champs du type :
Code:
SELECT *
FROM X
WHERE ...
AND (champ1, champ2, champ3) IN (
SELECT champ1, champ2, champ3
FROM Y
WHERE ...
)
J'ai réussi à le faire quand le "in" ne porte que sur un seul champ :
Code:
SELECT *
FROM X
WHERE ...
AND champ1 IN (
SELECT champ1
FROM Y
WHERE ...
)
Criteria crit = getSession().createCriteria(X.class);
DetachedCriteria dcrit = DetachedCriteria.forClass(Y.class)
.setProjection( Projections.property("champ1") );
crit.add(Property.forName("champ1").in(dcrit));
...
Le problème est que je ne sais pas comment faire sur un triplet de champ ! Quelqu'un aurait-il une idée pour m'aider ?
Merci