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<Object[]> 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;