package fr.istic.taa.jaxrs.DAO; import jakarta.persistence.EntityTransaction; import jakarta.persistence.Query; import fr.istic.taa.jaxrs.metier.Session; import fr.istic.taa.jaxrs.metier.Utilisateur; public class UtilisateurDAO extends AbstractJpaDao { public UtilisateurDAO() { super(); this.setClass(Utilisateur.class); } public Utilisateur findByEmail(String email){ EntityTransaction t=em.getTransaction(); t.begin(); Query query=em.createQuery("select u from Utilisateur u where u.email=:email"); query.setParameter("email",email); Utilisateur u=(Utilisateur)query.getSingleResult(); t.commit(); return u; } public void addToSession(int sessionId, int userId) { EntityTransaction t = em.getTransaction(); t.begin(); Session s = em.find(Session.class, sessionId); Utilisateur u = em.find(Utilisateur.class, userId); //FAUT AJOUTER OWNING SIDE ( Ici u --> s) u.getSession().add(s); //Jsp il faut birectionnelle ou pas? s.getUtilisateurs().add(u); em.merge(u); t.commit(); } }