/* * Copyright @ 2013 CurisTEC, S.A.S. All Rights Reserved. */ package net.curisit.securis.ioc; import jakarta.enterprise.context.ApplicationScoped; import jakarta.persistence.EntityManager; import jakarta.persistence.EntityManagerFactory; import jakarta.persistence.Persistence; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; /** * EntityManagerProvider *
* Simple provider for JPA {@link EntityManager} instances using the * persistence unit "localdb". Creates an {@link EntityManagerFactory} * once per application and returns a fresh {@link EntityManager} per call. * * Note: * - Callers are responsible for closing the obtained EntityManager. * * @author JRA * Last reviewed by JRA on Oct 5, 2025. */ @ApplicationScoped public class EntityManagerProvider { @SuppressWarnings("unused") private static final Logger log = LogManager.getLogger(EntityManagerProvider.class); /** * entityManagerFactory
* Application-wide EMF built from persistence.xml PU "localdb". */ private final EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("localdb"); /** * getEntityManager
* Create a new {@link EntityManager}. * * @return a new EntityManager; caller must close it */ public EntityManager getEntityManager() { return entityManagerFactory.createEntityManager(); } }