Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Configuration("persistenceContext")
- @EnableJpaRepositories(entityManagerFactoryRef = "entityManagerFactory",
- transactionManagerRef = "jpaTransactionManager",
- basePackages = {"my.repository"})
- @EnableTransactionManagement
- public class PersistenceContext {
- @Autowired
- private DataSourcePropertyConfig dataSourcePropertyConfig;
- public BasicDataSource datasource() {
- final BasicDataSource dataSource = new BasicDataSource();
- dataSource.setDriverClassName(dataSourcePropertyConfig.getMySqlDriverClassName());
- dataSource.setUsername(dataSourcePropertyConfig.getMySqlDBUsername());
- dataSource.setPassword(dataSourcePropertyConfig.getMySqlDBPassword());
- dataSource.setUrl("jdbc:mysql://<host>:<port>/<database>");
- dataSource.setMaxActive(10);
- dataSource.setMaxIdle(5);
- dataSource.setInitialSize(5);
- dataSource.setValidationQuery("SELECT 1");
- return dataSource;
- }
- public JpaVendorAdapter jpaVendorAdapter() {
- final HibernateJpaVendorAdapter hibernateJpaVendorAdapter = new HibernateJpaVendorAdapter();
- hibernateJpaVendorAdapter.setShowSql(true);
- hibernateJpaVendorAdapter.setGenerateDdl(false);
- hibernateJpaVendorAdapter.setDatabase(Database.MYSQL);
- return hibernateJpaVendorAdapter;
- }
- @Bean(name = "entityManagerFactory")
- public EntityManagerFactory entityManagerFactory() {
- final LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
- entityManagerFactoryBean.setDataSource(this.datasource());
- entityManagerFactoryBean.setJpaVendorAdapter(this.jpaVendorAdapter());
- entityManagerFactoryBean.setPackagesToScan("my.entity");
- entityManagerFactoryBean.afterPropertiesSet();
- return entityManagerFactoryBean.getObject();
- }
- @Bean(name = "jpaTransactionManager")
- @Primary
- public PlatformTransactionManager jpaTransactionManager() {
- return new JpaTransactionManager(entityManagerFactory());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement