Bonjour,
Je viens de découvrir et d'expérimenter la méthode API Criteria au niveau des requêtes. Mais je rencontre un problème pour effectuer une jointure, c'est pourquoi je sollicite votre aide.
Voici la requête que je veux utiliser avec Criteria :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 select di from DbDocumentIndexe as di , DbValeurAttribut as va1, DbValeurAttribut as va2 where ( di.dbTypeDocument.id=26 or di.dbTypeDocument.id=1 ) and di.id = va1.dbDocumentIndexe.id and di.id = va2.dbDocumentIndexe.id and va1.dbAttribut.libelleAttribut='attribut1' and (va1.valeur)>('2.2') and va2.dbAttribut.libelleAttribut='attribut1' and (va2.valeur)<('2.4')
Voici le début de ma requête Criteria :
Mon souci vient donc de la jointure entre DbDocumentIndexe et DbValeurAttribut. Comment faire avec Criteria pour réaliser cette partie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Criteria lRequete = lSession.createCriteria(DbDocumentIndexe.class) .add(Restrictions.in("dbTypeDocument.id", idsTypeDocument));
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 and di.id = va1.dbDocumentIndexe.id and di.id = va2.dbDocumentIndexe.id and va1.dbAttribut.libelleAttribut='attribut1' and (va1.valeur)>('2.2') and va2.dbAttribut.libelleAttribut='attribut1' and (va2.valeur)<('2.4')
Merci pour votre aide
Partager