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 :

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();
A savoir que la listeCompetences est la liste que je recherche.

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