Bonjour

Je cherche à créer une requête imbriqué de la manière suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Ajout des jointures sur d'autres tables
Criteria vCrit = getSession().createCriteria(HbPoste.class);
vCrit.setFetchMode("histoPosteZgs", FetchMode.JOIN);
 
 
//BLOC 1
//Criteria vCritHistoPoste = vCrit.createCriteria("histoPosteZgs");
//vCritHistoPoste.add(Expression.neProperty("id", "id"));	
 
vCrit.add(Expression.or(Expression.gt("pceDateFin", vDateDuJour), Expression
                .isNull("pceDateFin")));
 
 
//BLOC 2
/* vCrit.add(Expression.and(Expression.or(
Expression.gt("pceDateFin", vDateDuJour), Expression.isNull("pceDateFin")),
Expression.neProperty("histoPosteZgs.id.poste.id", "id")));
*/
Je pars de ma table Poste et je recherche tous les postes qui ne sont pas dans ma table d'association histoPosteZgs qui possède une clef primaire composée

Si j'utilise BLOC 1 je ne recupère pas le données que je veux puisque je suis sur l'id de ma table d'assoc.

Si j'utilise BLOC 2 j'ai une erreur du type histoPosteZgs.id.poste.id unknown property

Si quelqu'un peut m'éclairer.

Merci d'avance