Bonjour à tous,

Voici mon petit problème, dans mon projet j'ai :
- 1 table PERSONNEL
- 1 table LINK_NOMI
- 1 table TYPE NOMI

La table PERSONNEL contient :
=> PERS_ID
=> PERS_NOM
=> PERS_PRENOM

La table LINK_NOMI contient :
=> LNOMI_ID
=> LNOMI_PERS_ID (clé étrangère de PERSONNEL)
=> LNOMI_TNOMI_ID (clé étrangère de TYPE_NOMI)
=> LNOMI_DATE

La table TYPE_NOMI contient :
=> TNOMI_ID
=> TNOMI_CATEG (La catégorie de la personne)
=> TNOMI_FLAG_ACTIF

Donc en gros une personne peut avoir plusieurs nominations et
la dernière nomination est la catégorie avec la date max

Je désire donc faire une sorte de recherche avancée multi-critères.
Mon problème est le suivant:
Lorsque je sélectionne une catégorie dans ma combo, il affiche bien un résultat
mais il me donne les personnes même si elles ne sont plus dans la catégorie sélectionnée.

Ex : Si je fais une recherche des personnes qui ont pour catégorie 140.
Le résultat me donne les personne qui sont 140 actuellement maiségalement les personnes qui ne sont plus 140 mais qu'y sont passées 150 ou 160 depuis.

En gros je n'arrive pas a effectuer une recherche sur la date max des nominations de la personne

Voici mon code actuel qui fonctionne bien pour les catègories :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
if (ps.getNomi() != null){
	crit.createCriteria("linkNomis",Criteria.LEFT_JOIN).add(Expression.eq("typeNomi.tnomiId",ps.getNomi().getTnomiId()));
}
Pouvez me donner une piste ou quelques infos

D'avance merci à tous