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 :
Pouvez me donner une piste ou quelques infos
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())); }
D'avance merci à tous
Partager