List of usage examples for org.springframework.orm.jpa LocalContainerEntityManagerFactoryBean setPersistenceUnitManager
public void setPersistenceUnitManager(PersistenceUnitManager persistenceUnitManager)
From source file:com.mycompany.projetsportmanager.spring.configuration.BaseConfiguration.java
/** * Builds the persistence unit manager./*from w w w .j a va 2s.c om*/ * @param dataSource the datasource. * @return the persistence unit manager. */ @Bean public LocalContainerEntityManagerFactoryBean myEmf() { LocalContainerEntityManagerFactoryBean localContainerEntityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean(); localContainerEntityManagerFactoryBean.setDataSource(dataSource); localContainerEntityManagerFactoryBean.setPersistenceUnitManager(persistenceUnitManager()); localContainerEntityManagerFactoryBean.setJpaVendorAdapter(jpaAdapter()); //localContainerEntityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistenceProvider.class); localContainerEntityManagerFactoryBean.setPersistenceProvider(jpaAdapter().getPersistenceProvider()); if (!generateDdl) { localContainerEntityManagerFactoryBean.getJpaPropertyMap().put(Environment.HBM2DDL_AUTO, "validate"); } return localContainerEntityManagerFactoryBean; }
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 w w w. j a v a2 s . c om*/ */ 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 {/* w w w .j a va 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()); } }