Example usage for org.hibernate.jpa HibernatePersistenceProvider createEntityManagerFactory

List of usage examples for org.hibernate.jpa HibernatePersistenceProvider createEntityManagerFactory

Introduction

In this page you can find the example usage for org.hibernate.jpa HibernatePersistenceProvider createEntityManagerFactory.

Prototype

@Override
public EntityManagerFactory createEntityManagerFactory(String persistenceUnitName, Map properties) 

Source Link

Document

Note: per-spec, the values passed as properties override values found in persistence.xml

Usage

From source file:org.lightmare.jpa.JpaManager.java

License:Open Source License

/**
 * Creates {@link EntityManagerFactory} by <a
 * href="http://hibernate.org">"Hibernate"</a> or by extended builder
 * {@link Ejb3ConfigurationImpl} if entity classes or persistence.xml file
 * path are provided/*from w w  w .  j av  a2 s .c  o  m*/
 * 
 * @see Ejb3ConfigurationImpl#configure(String, Map) and
 *      Ejb3ConfigurationImpl#createEntityManagerFactory()
 * 
 * @param unitName
 * @return {@link EntityManagerFactory}
 */
private EntityManagerFactory buildEntityManagerFactory(String unitName) throws IOException {

    EntityManagerFactory emf;

    HibernatePersistenceProvider provider;
    HibernatePersistenceProviderExt.Builder builder = new HibernatePersistenceProviderExt.Builder();
    configureProvider(builder);
    provider = builder.build();

    if (Boolean.FALSE.equals(swapDataSource)) {
        addTransactionManager();
    }
    // Adds JNDI properties
    addJndiProperties();

    if (springPersistence) {
        emf = getFromSpring(provider, unitName);
    } else {
        emf = provider.createEntityManagerFactory(unitName, properties);
    }

    return emf;
}