List of usage examples for org.hibernate.jpa.boot.spi Bootstrap getEntityManagerFactoryBuilder
public static EntityManagerFactoryBuilder getEntityManagerFactoryBuilder( PersistenceUnitInfo persistenceUnitInfo, Map integration, ClassLoaderService providedClassLoaderService)
From source file:org.keycloak.connections.jpa.util.JpaUtils.java
License:Apache License
public static EntityManagerFactory createEntityManagerFactory(KeycloakSession session, String unitName, Map<String, Object> properties, boolean jta) { PersistenceUnitTransactionType txType = jta ? PersistenceUnitTransactionType.JTA : PersistenceUnitTransactionType.RESOURCE_LOCAL; List<ParsedPersistenceXmlDescriptor> persistenceUnits = PersistenceXmlParser .locatePersistenceUnits(properties); for (ParsedPersistenceXmlDescriptor persistenceUnit : persistenceUnits) { if (persistenceUnit.getName().equals(unitName)) { List<Class<?>> providedEntities = getProvidedEntities(session); for (Class<?> entityClass : providedEntities) { // Add all extra entity classes to the persistence unit. persistenceUnit.addClasses(entityClass.getName()); }/*from ww w . jav a2 s .co m*/ // Now build the entity manager factory, supplying a proxy classloader, so Hibernate will be able // to find and load the extra provided entities. persistenceUnit.setTransactionType(txType); return Bootstrap.getEntityManagerFactoryBuilder(persistenceUnit, properties, new ProxyClassLoader(providedEntities)).build(); } } throw new RuntimeException("Persistence unit '" + unitName + "' not found"); }
From source file:org.lightmare.jpa.hibernate.jpa.HibernatePersistenceProviderExt.java
License:Open Source License
@Override @SuppressWarnings("rawtypes") protected EntityManagerFactoryBuilder getEntityManagerFactoryBuilderOrNull(String persistenceUnitName, Map properties, ClassLoader providedClassLoader) { EntityManagerFactoryBuilder builder; LOG.tracef("Attempting to obtain correct EntityManagerFactoryBuilder for persistenceUnitName : %s", persistenceUnitName);/* w ww .j a v a 2s .co m*/ final Map integration = wrap(properties); PersistenceUnitDescriptor persistenceUnit = getPersistenceXmlDescriptor(persistenceUnitName, properties, providedClassLoader); if (persistenceUnit == null) { LOG.debug("Found no matching persistence units"); builder = null; } else { builder = Bootstrap.getEntityManagerFactoryBuilder(persistenceUnit, integration, providedClassLoader); } return builder; }