Bonjour,
Voici mon schéma de base de donnée :
Competence (id_com, comLibelle)
Candidat(id_can, nom_candidat)
CompCand(id_com, id_can)
Et je désire effectuer la requête suivante à l'aide d'hibernate :
Rechercher tous les candidats qui ont une liste de compétences.
Voila ce que j ai fait :
A savoir que la listeCompetences est la liste que je recherche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 List resultat = HibernateUtil.getSessionFactory().getCurrentSession().createQuery("from Competence comp where comp.comLibelle in (:listeCompetences)").setParameterList("listeCompetences", listeCompetences).list(); List resultat1 = HibernateUtil.getSessionFactory().getCurrentSession().createSQLQuery("select distinct candcomp.id_can from CandComp candcomp where candcomp.competence in (:resultat)").setParameterList("resultat", resultat).list();
Le problème de cette requête et qu'elle me retourne tous les candidats ou il y a au moins une compétence de la liste. Et je ne veux que les candidats qui ont toutes les compétences de la liste.
Merci pour votre aide
Partager