Example usage for org.springframework.orm.jpa LocalContainerEntityManagerFactoryBean getNativeEntityManagerFactory

List of usage examples for org.springframework.orm.jpa LocalContainerEntityManagerFactoryBean getNativeEntityManagerFactory

Introduction

In this page you can find the example usage for org.springframework.orm.jpa LocalContainerEntityManagerFactoryBean getNativeEntityManagerFactory.

Prototype

@Override
    public EntityManagerFactory getNativeEntityManagerFactory() 

Source Link

Usage

From source file:org.spc.ofp.tubs.config.TubsAppConfig.java

@Bean(name = { "entityManagerFactory" })
public EntityManagerFactory entityManagerFactory() {
    final LocalContainerEntityManagerFactoryBean emf = new LocalContainerEntityManagerFactoryBean();
    emf.setDataSource(dataSourceConfig.tubsDataSource());
    // FIXME Change this to read PU name from Spring configuration XML
    emf.setPersistenceUnitName(PU_NAME);
    emf.setJpaVendorAdapter(jpaAdapter());
    final Properties jpaProperties = new Properties();
    // FIXME Change this to read Hibernate dialect from Spring configuration XML
    // This sets us up for being able to use the GIS functionality in SQL Server via HibernateSpatial
    jpaProperties.setProperty("hibernate.dialect", "org.hibernatespatial.sqlserver.SQLServerSpatialDialect");
    jpaProperties.setProperty("hibernate.show_sql", "false");
    emf.setJpaProperties(jpaProperties);
    emf.afterPropertiesSet();//  w  ww  .j  av a 2  s . c om
    return emf.getNativeEntityManagerFactory();
}

From source file:fr.paris.lutece.portal.service.jpa.JPAStartupService.java

/**
 * Initialize JPA objects (Datasource, Persistence Unit Manager, Entity Manager Factory,
 * Transaction Manager) for each pool./*from   www .  ja  v  a 2 s.  c o  m*/
 */
public void process() {
    ReferenceList list = new ReferenceList();
    AppConnectionService.getPoolList(list);

    Map<String, EntityManagerFactory> mapFactories = new HashMap<String, EntityManagerFactory>();
    List<PlatformTransactionManager> listTransactionManagers = new ArrayList<PlatformTransactionManager>();
    _log.info("JPA Startup Service : Initializing JPA objects ...");

    String strDialectProperty = AppPropertiesService.getProperty(JPA_DIALECT_PROPERTY);

    for (ReferenceItem poolItem : list) {
        String strPoolname = poolItem.getCode();

        DataSource ds = AppConnectionService.getPoolManager().getDataSource(strPoolname);
        _log.info("JPA Startup Service : DataSource retrieved for pool : " + strPoolname);
        _log.debug("> DS : " + ds.toString());

        DefaultPersistenceUnitManager pum = new DefaultPersistenceUnitManager();
        pum.setDefaultDataSource(ds);

        PersistenceUnitPostProcessor[] postProcessors = { new JPAPersistenceUnitPostProcessor() };
        pum.setPersistenceUnitPostProcessors(postProcessors);

        pum.afterPropertiesSet();

        _log.info("JPA Startup Service : Persistence Unit Manager for pool : " + strPoolname);
        _log.debug("> PUM : " + pum.toString());

        LocalContainerEntityManagerFactoryBean lcemfb = new LocalContainerEntityManagerFactoryBean();
        lcemfb.setDataSource(ds);
        lcemfb.setPersistenceUnitManager(pum);
        lcemfb.setPersistenceUnitName("jpaLuteceUnit");

        JpaDialect jpaDialect = (JpaDialect) SpringContextService.getBean("jpaDialect");
        lcemfb.setJpaDialect(jpaDialect);

        Map mapJpaProperties = (Map) SpringContextService.getBean("jpaPropertiesMap");
        lcemfb.setJpaPropertyMap(mapJpaProperties);

        String strDialect = AppPropertiesService.getProperty(poolItem.getName() + ".dialect");

        // replace default dialect if <poolname>.dialect is specified
        if (StringUtils.isNotBlank(strDialect)) {
            mapJpaProperties.put(strDialectProperty, strDialect);
        }

        _log.debug("Using dialect " + mapJpaProperties.get(strDialectProperty) + " for pool "
                + poolItem.getName());

        JpaVendorAdapter jpaVendorAdapter = (JpaVendorAdapter) SpringContextService.getBean("jpaVendorAdapter");
        lcemfb.setJpaVendorAdapter(jpaVendorAdapter);

        lcemfb.afterPropertiesSet();

        EntityManagerFactory emf = lcemfb.getNativeEntityManagerFactory();
        _log.info("JPA Startup Service : EntityManagerFactory created for pool : " + strPoolname);
        _log.debug("> EMF : " + emf.toString());

        JpaTransactionManager tm = new JpaTransactionManager();
        tm.setEntityManagerFactory(emf);
        tm.setJpaDialect(jpaDialect);
        _log.debug("> JpaDialect " + jpaDialect);
        tm.afterPropertiesSet();
        _log.info("JPA Startup Service : JPA TransactionManager created for pool : " + strPoolname);
        _log.debug("> TM : " + tm.toString());

        mapFactories.put(strPoolname, emf);
        listTransactionManagers.add(tm);
    }

    EntityManagerService ems = (EntityManagerService) SpringContextService.getBean("entityManagerService");
    ems.setMapFactories(mapFactories);

    ChainedTransactionManager ctm = (ChainedTransactionManager) SpringContextService
            .getBean("transactionManager");
    ctm.setTransactionManagers(listTransactionManagers);
    _log.info("JPA Startup Service : completed successfully");
}

From source file:uk.nhs.cfh.dsp.srth.simulator.impl.DataGenerationEngineFactoryImpl.java

public void recreateDatabase() {
    try {/*from  www  .  ja  v a  2 s.c  o m*/
        //            Map<String, String> connectionMap = new HashMap<String, String>();
        //            connectionMap.put("hibernate.hbm2ddl.auto", "update");
        //            EntityManagerFactory emf = Persistence.createEntityManagerFactory("simulatorjpa", connectionMap);
        //            emf.close();
        logger.info("Starting purge of database...");
        persistenceUnitManager.obtainPersistenceUnitInfo("simulatorjpa");
        logger.info("persistenceUnitManager = " + persistenceUnitManager);
        LocalContainerEntityManagerFactoryBean lemf = new LocalContainerEntityManagerFactoryBean();
        lemf.setPersistenceUnitManager(persistenceUnitManager);
        logger.info("xmlLocation = " + xmlLocation);
        File f = new File(xmlLocation);
        logger.info("f.exists() = " + f.exists());
        logger.info("f.getAbsolutePath() = " + f.getAbsolutePath());
        logger.info("dataSource = " + dataSource);
        //            lemf.setPersistenceXmlLocation(xmlLocation);
        //            lemf.setDataSource(dataSource);
        logger.info("lemf.getPersistenceUnitName() = " + lemf.getPersistenceUnitName());
        lemf.getNativeEntityManagerFactory().close();
        logger.info("Finished recreating database.");
    } catch (ExceptionInInitializerError e) {
        logger.warn("Error recreating database. Nested exception is : " + e.fillInStackTrace());
    }
}