bonjour a tous,
j'ai une relation many to many entre User et Formation ( on a des set de formations niveau du User et de meme des Set de users au niveau du Formation) . tout fonctionne correctement.
Chaque user peut s'inscrire à une formation et donc une ligne qui se rajoute au niveau de la table d'association user_formation(les colonnes sont les 2 id).
Mais, mon problème est comment faire pour avoir une liste des formations qui est on faite les formations ou un user n'a pas encore fait un inscrit. cad la liste sera le résultat de la liste deja définit ds la table formation - la liste des formations qui existent ds la table d'association.???

normalement, ça ressemble à
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
from Formation as f
where f.nom not in (
    select uf.nom from user_formation as uf)
moi, j'ai essayé ce bout de code car je peux récupérer la liste des formation ou un user est déjà inscrit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
User us ;
List<Formation> formations = session.createQuery("select sf from Formation sf where sf not in (:z) ").setParameter("z",us.getSessions()).list();
et merci d'avance !