/** * Declare the transaction manager. */ @Bean public JpaTransactionManager transactionManager() { JpaTransactionManager transactionManager = new JpaTransactionManager(); transactionManager.setEntityManagerFactory( entityManagerFactory.getObject()); return transactionManager; }
/** * Retrieves an EntityManagerFactory by persistence unit name, if none set explicitly. * Falls back to a default EntityManagerFactory bean if no persistence unit specified. * @see #setPersistenceUnitName */ @Override public void setBeanFactory(BeanFactory beanFactory) throws BeansException { if (getEntityManagerFactory() == null) { if (!(beanFactory instanceof ListableBeanFactory)) { throw new IllegalStateException("Cannot retrieve EntityManagerFactory by persistence unit name " + "in a non-listable BeanFactory: " + beanFactory); } ListableBeanFactory lbf = (ListableBeanFactory) beanFactory; setEntityManagerFactory(EntityManagerFactoryUtils.findEntityManagerFactory(lbf, getPersistenceUnitName())); } }
@Bean @DependsOn("entityManagerFactory") public JpaTransactionManager transactionManager(EntityManagerFactory entityManagerFactory, DataSource dataSource) { JpaTransactionManager jpaTransactionManager = new JpaTransactionManager(entityManagerFactory); jpaTransactionManager.setDataSource(dataSource); return jpaTransactionManager; }
/** * Eagerly initialize the JPA dialect, creating a default one * for the specified EntityManagerFactory if none set. * Auto-detect the EntityManagerFactory's DataSource, if any. */ @Override public void afterPropertiesSet() { if (getEntityManagerFactory() == null) { throw new IllegalArgumentException("'entityManagerFactory' or 'persistenceUnitName' is required"); } if (getEntityManagerFactory() instanceof EntityManagerFactoryInfo) { EntityManagerFactoryInfo emfInfo = (EntityManagerFactoryInfo) getEntityManagerFactory(); DataSource dataSource = emfInfo.getDataSource(); if (dataSource != null) { setDataSource(dataSource); } JpaDialect jpaDialect = emfInfo.getJpaDialect(); if (jpaDialect != null) { setJpaDialect(jpaDialect); } } }
@Bean public PlatformTransactionManager transactionManager() { JpaTransactionManager txManager = new JpaTransactionManager(); txManager.setEntityManagerFactory(entityManagerFactory()); return txManager; } }
@Bean @Autowired public PlatformTransactionManager transactionManager(LocalContainerEntityManagerFactoryBean entityManagerFactory) { return new JpaTransactionManager(entityManagerFactory.getObject()); }
@Bean public PlatformTransactionManager txManager(EntityManagerFactory entityManagerFactory) { JpaTransactionManager transactionManager = new JpaTransactionManager(entityManagerFactory); transactionManager.setDataSource(this.dataSource); transactionManager.setJpaDialect(this.jpaDialect); return transactionManager; }
@Bean(name=TRANSACTION_MANAGER_BEAN) @Primary public PlatformTransactionManager snapshotTransactionManager(@Qualifier(ENTITY_MANAGER_FACTORY_BEAN) EntityManagerFactory entityManagerFactory) { JpaTransactionManager tm = new JpaTransactionManager(entityManagerFactory); tm.setJpaDialect(new HibernateJpaDialect()); return tm; }
@Bean(name = "qjTransactionManager") public PlatformTransactionManager otherTransactionManager( @Qualifier("qjEntityManagerFactory") EntityManagerFactory qjEntityManagerFactory) { return new JpaTransactionManager(qjEntityManagerFactory); } }
/** * Return the JPA transaction manager * * @return the JPA transaction manager */ @Bean(name = "operationalMetadataTransactionManager") public PlatformTransactionManager transactionManager(@Qualifier("dataSource") DataSource dataSource) { JpaTransactionManager xtnMgr = new JpaTransactionManager(entityManagerFactory(dataSource)); xtnMgr.setDataSource(dataSource); xtnMgr.setTransactionSynchronization(AbstractPlatformTransactionManager.SYNCHRONIZATION_ALWAYS); return xtnMgr; }
@Bean(name="entityManagerFactoryBean") public EntityManagerFactory configureEntityManagerFactory() { LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean(); entityManagerFactoryBean.setDataSource(getDataSource()); entityManagerFactoryBean.setPackagesToScan("com.global.us.app.model.db"); entityManagerFactoryBean.setJpaVendorAdapter(new HibernateJpaVendorAdapter()); Properties jpaProperties = new Properties(); jpaProperties.put(org.hibernate.cfg.Environment.DIALECT, env.getProperty(org.hibernate.cfg.Environment.DIALECT)); jpaProperties.put(org.hibernate.cfg.Environment.SHOW_SQL, env.getProperty(org.hibernate.cfg.Environment.SHOW_SQL)); jpaProperties.put(org.hibernate.cfg.Environment.HBM2DDL_IMPORT_FILES_SQL_EXTRACTOR, env.getProperty(org.hibernate.cfg.Environment.HBM2DDL_IMPORT_FILES_SQL_EXTRACTOR)); entityManagerFactoryBean.setJpaProperties(jpaProperties); entityManagerFactoryBean.afterPropertiesSet(); return (EntityManagerFactory) entityManagerFactoryBean.getObject(); } @Override @Bean() @DependsOn("entityManagerFactoryBean") public PlatformTransactionManager annotationDrivenTransactionManager() { JpaTransactionManager jpa = new JpaTransactionManager(); jpa.setEntityManagerFactory(configureEntityManagerFactory()); return jpa; }
HibernateJpaVendorAdapter adaptor = new HibernateJpaVendorAdapter(); adaptor.setShowSql(false); adaptor.setGenerateDdl(false); adaptor.setDatabase(Database.MYSQL); return adaptor; LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean(); em.setDataSource(secondaryDataSource()); em.setPackagesToScan(new String[] {"com.download.domain.secondary"}); HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); JpaTransactionManager transactionManager = new JpaTransactionManager(); transactionManager.setEntityManagerFactory(secondaryEntityManager().getObject()); return transactionManager;
JpaTransactionManager jpaTransactionManager = new JpaTransactionManager(); jpaTransactionManager.setDataSource(getDataSource()); jpaTransactionManager.setEntityManagerFactory(entityManagerFactory()); return jpaTransactionManager; LocalContainerEntityManagerFactoryBean entityManagerFactory = new LocalContainerEntityManagerFactoryBean(); entityManagerFactory.setDataSource(getDataSource()); Map<String, String> properties = new HashMap<String, String>(); properties.put("hibernate.current_session_context_class", SpringSessionContext.class.getName()); entityManagerFactory.setPackagesToScan( "some package", "some package"); HibernateJpaVendorAdapter va = new HibernateJpaVendorAdapter(); va.setShowSql(env.getProperty("hibernate.show-sql", Boolean.class, true); va.setDatabasePlatform(env.getProperty("hibernate.dialect", "org.hibernate.dialect.PostgreSQLDialect"); entityManagerFactory.setJpaVendorAdapter(va); return entityManagerFactory;
@Bean(name = "entityManagerFactory") public EntityManagerFactory entityManagerFactory() { LocalContainerEntityManagerFactoryBean emf = new LocalContainerEntityManagerFactoryBean(); emf.setDataSource(dataSource); emf.setJpaVendorAdapter(jpaVendorAdapter); emf.setPackagesToScan("com.mysource.model"); emf.setPersistenceUnitName("default"); // <- giving 'default' as name JpaTransactionManager tm = new JpaTransactionManager(); tm.setEntityManagerFactory(entityManagerFactory()); return tm;
LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean(); em.setDataSource(dataSource()); em.setPersistenceUnitName("MyTestPU"); em.setPackagesToScan(new String[]{"com.model"}); em.setJpaDialect(new HibernateJpaDialect()); HibernateJpaVendorAdapter jpaVendorAdapter = new HibernateJpaVendorAdapter(); jpaVendorAdapter.setDatabase(Database.HSQL); jpaVendorAdapter.setShowSql(true); jpaVendorAdapter.setDatabasePlatform("org.hibernate.dialect.HSQLDialect"); return jpaVendorAdapter; JpaTransactionManager jpaTransactionManager = new JpaTransactionManager(); jpaTransactionManager.setEntityManagerFactory(entityManagerFactory().getObject()); jpaTransactionManager.setDataSource(dataSource()); jpaTransactionManager.setJpaDialect(new HibernateJpaDialect()); return jpaTransactionManager;
LocalContainerEntityManagerFactoryBean entityManagerFactory = new LocalContainerEntityManagerFactoryBean(); entityManagerFactory.setDataSource(dataSource()); entityManagerFactory.setPackagesToScan("se.up2u.flowkeeper.model.entity"); HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); vendorAdapter.setShowSql(true); vendorAdapter.setDatabase(Database.POSTGRESQL); vendorAdapter.setGenerateDdl(true); entityManagerFactory.setJpaVendorAdapter(vendorAdapter); public PlatformTransactionManager transactionManager() throws URISyntaxException { JpaTransactionManager transactionManager = new JpaTransactionManager(entityManagerFactory()); transactionManager.setDataSource(dataSource()); transactionManager.setJpaDialect(new HibernateJpaDialect()); return transactionManager;
LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean(); em.setDataSource(dataSource()); em.setJpaVendorAdapter(vendorAdapter()); em.setPersistenceUnitName("cimtoPU"); em.setJpaPropertyMap(getJpaProperties()); JpaTransactionManager transactionManager = new JpaTransactionManager(); transactionManager.setEntityManagerFactory(emf); HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); vendorAdapter.setDatabase(Database.MYSQL); vendorAdapter.setDatabasePlatform("org.hibernate.dialect.MySQL5Dialect"); vendorAdapter.setShowSql(true);
_log.debug( "> PUM : " + pum.toString( ) ); LocalContainerEntityManagerFactoryBean lcemfb = new LocalContainerEntityManagerFactoryBean( ); lcemfb.setDataSource( ds ); lcemfb.setPersistenceUnitManager( pum ); lcemfb.setPersistenceUnitName( "jpaLuteceUnit" ); _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( ) );
JpaTransactionManager transactionManager = new JpaTransactionManager(); transactionManager.setEntityManagerFactory(entityManagerFactory); return transactionManager; LocalContainerEntityManagerFactoryBean entityManagerFactory = new LocalContainerEntityManagerFactoryBean(); HibernateJpaVendorAdapter jpaVendorAdapter = new HibernateJpaVendorAdapter(); jpaVendorAdapter.setGenerateDdl(true); jpaVendorAdapter.setShowSql(true); entityManagerFactory.setJpaVendorAdapter(jpaVendorAdapter);
@Test public void testApplicationManagedEntityManagerWithJtaTransaction() throws Exception { Object testEntity = new Object(); // This one's for the tx (shared) EntityManager sharedEm = mock(EntityManager.class); given(sharedEm.getTransaction()).willReturn(new NoOpEntityTransaction()); // This is the application-specific one EntityManager mockEm = mock(EntityManager.class); given(mockEmf.createEntityManager()).willReturn(sharedEm, mockEm); LocalContainerEntityManagerFactoryBean cefb = parseValidPersistenceUnit(); MutablePersistenceUnitInfo pui = ((MutablePersistenceUnitInfo) cefb.getPersistenceUnitInfo()); pui.setTransactionType(PersistenceUnitTransactionType.JTA); JpaTransactionManager jpatm = new JpaTransactionManager(); jpatm.setEntityManagerFactory(cefb.getObject()); TransactionStatus txStatus = jpatm.getTransaction(new DefaultTransactionAttribute()); EntityManagerFactory emf = cefb.getObject(); assertSame("EntityManagerFactory reference must be cached after init", emf, cefb.getObject()); assertNotSame("EMF must be proxied", mockEmf, emf); EntityManager em = emf.createEntityManager(); em.joinTransaction(); assertFalse(em.contains(testEntity)); jpatm.commit(txStatus); cefb.destroy(); verify(mockEm).joinTransaction(); verify(mockEm).contains(testEntity); verify(mockEmf).close(); }