41 lines
1.2 KiB
Java
41 lines
1.2 KiB
Java
package fr.istic.taa.jaxrs.DAO;
|
|
|
|
import jakarta.persistence.EntityTransaction;
|
|
import fr.istic.taa.jaxrs.metier.Session;
|
|
import fr.istic.taa.jaxrs.metier.Utilisateur;
|
|
|
|
import java.util.List;
|
|
|
|
public class UtilisateurDAO extends AbstractJpaDao<Integer, Utilisateur> {
|
|
public UtilisateurDAO() {
|
|
super();
|
|
this.setClass(Utilisateur.class);
|
|
}
|
|
|
|
public Utilisateur findByEmail(String email) {
|
|
List<Utilisateur> results =
|
|
em.createQuery("SELECT u FROM Utilisateur u WHERE u.email = :email", Utilisateur.class)
|
|
.setParameter("email", email).getResultList();
|
|
|
|
if (results.isEmpty()) {
|
|
return null;
|
|
} else {
|
|
return results.get(0);
|
|
}
|
|
}
|
|
|
|
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.getSessions().add(s);
|
|
//Jsp il faut birectionnelle ou pas?
|
|
//s.getUtilisateurs().add(u);
|
|
em.merge(u);
|
|
t.commit();
|
|
}
|
|
}
|