package com.algaworks.pedidovenda.util.jpa; import javax.enterprise.context.ApplicationScoped; import javax.enterprise.context.RequestScoped; import javax.enterprise.inject.Disposes; import javax.enterprise.inject.Produces; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import org.hibernate.Session; @ApplicationScoped public class EntityManagerProducer { private EntityManagerFactory factory; public EntityManagerProducer() { factory = Persistence.createEntityManagerFactory("PedidoPU"); } @Produces @RequestScoped public Session createEntityManager() { return (Session) factory.createEntityManager(); } public void closeEntityManager(@Disposes Session manager) { manager.close(); } }