Example usage for org.hibernate.jpa.boot.spi Bootstrap getEntityManagerFactoryBuilder

List of usage examples for org.hibernate.jpa.boot.spi Bootstrap getEntityManagerFactoryBuilder

Introduction

In this page you can find the example usage for org.hibernate.jpa.boot.spi Bootstrap getEntityManagerFactoryBuilder.

Prototype

public static EntityManagerFactoryBuilder getEntityManagerFactoryBuilder(
            PersistenceUnitInfo persistenceUnitInfo, Map integration,
            ClassLoaderService providedClassLoaderService) 

Source Link

Usage

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;
}