001package model.repository; 002 003import model.entity.User; 004 005import javax.persistence.EntityManager; 006import javax.persistence.PersistenceContext; 007import java.io.Serializable; 008 009 010/** 011 * Classe che incapsula la logica per il recupero di entità di tipo {@link User} 012 */ 013public class UserRepository implements Serializable { 014 015 @PersistenceContext 016 protected EntityManager em; 017 018 /** 019 * Restituisce i dati di un utente data un email 020 * @param email email dell'utente 021 * @return entità User 022 */ 023 public User getByEmail(String email) { 024 return em.createQuery("from User u where u.email=:email", User.class).setParameter("email", email) 025 .getResultList().stream().findFirst().orElse(null); 026 } 027}