Query queryFormateur = getCurrentSession() .createQuery( "SELECT m, p, d " + "FROM Matieres m, DroitsActeurs da, RelsRelations rrd, Rels d, RelsRelations rrp, Rels p where " + "m.pId = da.rels.pId and " + "da.id.pfActeur = :idActeur and " + "m.pId = rrd.relsByPfFils.pId and " + "d.pId = rrd.relsByPfPere.pId and " + "rrd.relations.libelle = 'rattacheMatDep' and " + "m.pId = rrp.relsByPfFils.pId and " + "p.pId = rrp.relsByPfPere.pId and " + "rrp.relations.libelle = 'rattacheMatProg' " ); queryFormateur.setLong("idActeur", u.getId()); List result = queryFormateur.list(); Query queryFormateur2 = getCurrentSession() .createQuery( "SELECT m, p, d " + "FROM Matieres m, DroitsActeurs da " + "INNER JOIN da.groupes.groupesesForPfFils gf, RelsRelations rrd, Rels d, RelsRelations rrp, Rels p where " + "m.pId = da.rels.pId and " + "gf.id = :idActeur and " + "m.pId = rrd.relsByPfFils.pId and " + "d.pId = rrd.relsByPfPere.pId and " + "rrd.relations.libelle = 'rattacheMatDep' and " + "m.pId = rrp.relsByPfFils.pId and " + "p.pId = rrp.relsByPfPere.pId and " + "rrp.relations.libelle = 'rattacheMatProg' " ); queryFormateur2.setLong("idActeur", u.getId()); result.addAll(queryFormateur2.list()); Query queryApprenant = getCurrentSession() .createQuery( "SELECT m, pp, d " + "FROM Matieres m, RelsRelations rrd, Rels d, RelsRelations rrp, InscriptionsSessions ise " + "INNER JOIN ise.programmesSessions ps " + "INNER JOIN ps.programmes pp where " + "ise.groupes.id = :idActeur and " + "ps.semainiers.dateDebut <= current_date and " + "ps.semainiers.dateFin >= current_date and " + "m.pId = rrd.relsByPfFils.pId and " + "d.pId = rrd.relsByPfPere.pId and " + "rrd.relations.libelle = 'rattacheMatDep' and " + "m.pId = rrp.relsByPfFils.pId and " + "pp.pId = rrp.relsByPfPere.pId and " + "rrp.relations.libelle = 'rattacheMatProg' and " + "m.datePublication IS NOT NULL and m.datePublication <= current_date" ); queryApprenant.setLong("idActeur", u.getId()); result.addAll(queryApprenant.list()); return result;