org.hibernate.jpa.boot.spi.EntityManagerFactoryBuilder#build ( )源码实例Demo

下面列出了org.hibernate.jpa.boot.spi.EntityManagerFactoryBuilder#build ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Override
public EntityManagerFactory createEntityManagerFactory(String emName, Map properties) {
    if (properties == null)
        properties = new HashMap<Object, Object>();
    try {
        // These are pre-parsed during image generation:
        final List<PersistenceUnitDescriptor> units = PersistenceUnitsHolder.getPersistenceUnitDescriptors();

        for (PersistenceUnitDescriptor unit : units) {
            //if the provider is not set, don't use it as people might want to use Hibernate ORM
            if (IMPLEMENTATION_NAME.equalsIgnoreCase(unit.getProviderClassName()) ||
                    unit.getProviderClassName() == null) {
                EntityManagerFactoryBuilder emfBuilder = getEntityManagerFactoryBuilderOrNull(emName, properties);
                EntityManagerFactory emf = emfBuilder.build();
                return emf;
            }
        }

        //not the right provider
        return null;
    } catch (PersistenceException pe) {
        throw pe;
    } catch (Exception e) {
        throw new PersistenceException("Unable to build EntityManagerFactory", e);
    }
}
 
/**
 * {@inheritDoc}
 * <p/>
 * Note: per-spec, the values passed as {@code properties} override values found in {@code persistence.xml}
 */
@Override
public EntityManagerFactory createEntityManagerFactory(String persistenceUnitName, Map properties) {
	log.tracef( "Starting createEntityManagerFactory for persistenceUnitName %s", persistenceUnitName );
	final Map immutableProperties = immutable( properties );
	final EntityManagerFactoryBuilder builder = getEntityManagerFactoryBuilderOrNull( persistenceUnitName, immutableProperties );
	if ( builder == null ) {
		log.trace( "Could not obtain matching EntityManagerFactoryBuilder, returning null" );
		return null;
	}
	else {
		return builder.build();
	}
}
 
@SuppressWarnings("rawtypes")
@Override
public EntityManagerFactory createEntityManagerFactory(String persistenceUnitName, Map properties) {
    log.tracef("Starting createEntityManagerFactory for persistenceUnitName %s", persistenceUnitName);
    final EntityManagerFactoryBuilder builder = getEntityManagerFactoryBuilderOrNull(persistenceUnitName,
            properties);
    if (builder == null) {
        log.trace("Could not obtain matching EntityManagerFactoryBuilder, returning null");
        return null;
    } else {
        return builder.build();
    }
}
 
源代码4 项目: lams   文件: HibernatePersistenceProvider.java
/**
 * {@inheritDoc}
 * <p/>
 * Note: per-spec, the values passed as {@code properties} override values found in {@code persistence.xml}
 */
@Override
public EntityManagerFactory createEntityManagerFactory(String persistenceUnitName, Map properties) {
	log.tracef( "Starting createEntityManagerFactory for persistenceUnitName %s", persistenceUnitName );
	final EntityManagerFactoryBuilder builder = getEntityManagerFactoryBuilderOrNull( persistenceUnitName, properties );
	if ( builder == null ) {
		log.trace( "Could not obtain matching EntityManagerFactoryBuilder, returning null" );
		return null;
	}
	else {
		return builder.build();
	}
}
 
public EntityManagerFactory createEMF(Map properties) {
	PersistenceUnitInfo info = new RapidoidPersistenceUnitInfo(persistenceUnitName, dataSource, classLoader);
	PersistenceUnitInfoDescriptor infoDescriptor = new PersistenceUnitInfoDescriptor(info);

	CustomDescriptor customDescriptor = new CustomDescriptor(infoDescriptor, entityTypes);
	EntityManagerFactoryBuilder builder = getEntityManagerFactoryBuilder(customDescriptor, properties, classLoader);

	return builder.build();
}