X-Git-Url: https://git.hedgecode.org/?p=chesshog.git;a=blobdiff_plain;f=chesshog-db-etude%2Fsrc%2Fmain%2Fjava%2Forg%2Fhedgecode%2Fchess%2Fservice%2Fjpa%2FJpaDomainService.java;h=20c51013383e57f1057cce6027833a3f02ff3fbe;hp=37a4dcb891148d09f43361626066cba608c9057d;hb=fe0dd25e16055463de62d3c43f5b0c05a1eaaa75;hpb=a690fd273db4be795e37b8f9cb37b427da26208a diff --git a/chesshog-db-etude/src/main/java/org/hedgecode/chess/service/jpa/JpaDomainService.java b/chesshog-db-etude/src/main/java/org/hedgecode/chess/service/jpa/JpaDomainService.java index 37a4dcb..20c5101 100644 --- a/chesshog-db-etude/src/main/java/org/hedgecode/chess/service/jpa/JpaDomainService.java +++ b/chesshog-db-etude/src/main/java/org/hedgecode/chess/service/jpa/JpaDomainService.java @@ -17,10 +17,11 @@ package org.hedgecode.chess.service.jpa; import javax.persistence.EntityManager; -import javax.persistence.Persistence; import org.hedgecode.chess.domain.DomainObject; +import org.hedgecode.chess.persistence.PersistenceManager; import org.hedgecode.chess.service.DomainService; +import org.hedgecode.chess.service.ServiceRegistry; /** * @@ -29,15 +30,14 @@ import org.hedgecode.chess.service.DomainService; */ public abstract class JpaDomainService implements DomainService { - // todo: maybe single entityManager - private DomainManager domainManager; - JpaDomainService() { - domainManager = new DomainManager(); } EntityManager getEntityManager() { - return domainManager.getEntityManager(); + PersistenceManager persistenceManager = ServiceRegistry.singleProvider( + PersistenceManager.class + ); + return persistenceManager.getEntityManager(); } @Override @@ -63,24 +63,4 @@ public abstract class JpaDomainService implemen ); } - private class DomainManager { - - private static final String PERSISTENCE_UNIT_NAME = "db-etude-persistence-unit"; - - private EntityManager entityManager; - - EntityManager getEntityManager() { - if (entityManager == null) - createEntityManager(); - return entityManager; - } - - void createEntityManager() { - entityManager = Persistence.createEntityManagerFactory( - PERSISTENCE_UNIT_NAME - ).createEntityManager(); - } - - } - }