Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.context.annotation.Primary;
- import org.springframework.context.annotation.PropertySource;
- import org.springframework.core.env.Environment;
- import org.springframework.orm.jpa.JpaTransactionManager;
- import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
- import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
- import org.springframework.transaction.PlatformTransactionManager;
- import org.springframework.transaction.annotation.TransactionManagementConfigurer;
- import javax.persistence.EntityManagerFactory;
- import javax.sql.DataSource;
- import java.util.Properties;
- @Configuration
- public class PersistanceContext implements TransactionManagementConfigurer {
- @Bean
- @Primary
- public DataSource configureDataSource(Environment env) {
- org.apache.commons.dbcp.BasicDataSource source =new org.apache.commons.dbcp.BasicDataSource();
- source.setDriverClassName(env.getProperty("spring.datasource.driver-class-name"));
- source.setPassword(env.getProperty("spring.datasource.password"));
- source.setUsername(env.getProperty("spring.datasource.username"));
- source.setUrl(env.getProperty("spring.datasource.url"));
- return source;
- }
- @Bean
- LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource,
- Environment env) {
- LocalContainerEntityManagerFactoryBean bean = new LocalContainerEntityManagerFactoryBean();
- bean.setDataSource(dataSource);
- HibernateJpaVendorAdapter adapter = new HibernateJpaVendorAdapter();
- adapter.setDatabasePlatform(env.getProperty("spring.jpa.database-platform"));
- adapter.setShowSql(env.getProperty("spring.jpa.properties.hibernate.show_sql", Boolean.class));
- bean.setJpaVendorAdapter(adapter);
- Properties properties = new Properties();
- properties.put("hibernate.show_sql", env.getProperty("spring.jpa.properties.hibernate.show_sql", Boolean.class));
- properties.put("hibernate.cache.provider_class", env.getProperty("spring.jpa.properties.hibernate.cache.provider_class"));
- properties.put("hibernate.cache.use_second_level_cache", env.getProperty("spring.jpa.properties.hibernate.cache.use_second_level_cache", Boolean.class));
- bean.setJpaProperties(properties);
- bean.setPackagesToScan("GrowUp.Model");
- return bean;
- }
- @Bean
- JpaTransactionManager transactionManager(EntityManagerFactory entityManagerFactory, Environment env)
- {
- JpaTransactionManager manager = new JpaTransactionManager();
- manager.setEntityManagerFactory(entityManagerFactory);
- return manager;
- }
- @Bean
- public PlatformTransactionManager annotationDrivenTransactionManager(JpaTransactionManager transactionManager) {
- return transactionManager;
- }
- @Bean
- public PlatformTransactionManager annotationDrivenTransactionManager() {
- return new JpaTransactionManager();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement