Para obtener un EntityManager en un componente Seam, la vía más fácil es usar la anotación @In y disfrutar de las ventajas del mecanismo de inyección de dependencias de Seam.
@In
EntityManager entityManager;
EntityManager entityManager;
Pero estas ventajas solo están disponibles dentro de los componentes, es decir, en aquellas clases anotadas con @Name.
Si en una clase normal quisiésemos obtener el EntityManager, deberíamos hacerlo manualmente.
// PERSISTENCE_UNIT_NAME es el nombre del persistence-unit definido en el archivo persistence.xml
EntityManagerFactory emf = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
EntityManager em = emf.createEntityManager();
EntityManagerFactory emf = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
EntityManager em = emf.createEntityManager();
0 comentarios