Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Configuration
- public class JpaConfig implements TransactionManagementConfigurer {
- @Value("${spring.datasource.driverClassName}")
- private String driver;
- @Value("${spring.datasource.url}")
- private String url;
- @Value("${spring.datasource.username}")
- private String username;
- @Value("${spring.datasource.password}")
- private String password;
- @Value("${spring.jpa.properties.hibernate.dialect}")
- private String dialect;
- @Value("${spring.jpa.hibernate.ddl-auto}")
- private String ddlAuto;
- @Value("${spring.jpa.show-sql}")
- private Boolean showSql;
- @Value("${spring.jpa.properties.hibernate.format_sql}")
- private Boolean formatSql;
- @Bean
- public DataSource configureDataSource() {
- HikariConfig config = new HikariConfig();
- config.setDriverClassName(driver);
- config.setJdbcUrl(url);
- config.setUsername(username);
- config.setPassword(password);
- config.addDataSourceProperty("useUnicode", "true");
- config.addDataSourceProperty("characterEncoding", "utf8");
- config.addDataSourceProperty("cachePrepStmts", "true");
- config.addDataSourceProperty("prepStmtCacheSize", "250");
- config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
- config.addDataSourceProperty("useServerPrepStmts", "true");
- return new HikariDataSource(config);
- }
- @Bean
- public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
- LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
- entityManagerFactoryBean.setDataSource(configureDataSource());
- entityManagerFactoryBean.setPackagesToScan("ru.bvn13.pivdom.bot");
- entityManagerFactoryBean.setJpaVendorAdapter(new HibernateJpaVendorAdapter());
- Properties jpaProperties = new Properties();
- jpaProperties.put(org.hibernate.cfg.Environment.DIALECT, dialect);
- jpaProperties.put(org.hibernate.cfg.Environment.HBM2DDL_AUTO, ddlAuto);
- jpaProperties.put(org.hibernate.cfg.Environment.SHOW_SQL, showSql);
- //jpaProperties.put(org.hibernate.cfg.Environment.USE_SQL_COMMENTS, useSqlComments);
- jpaProperties.put(org.hibernate.cfg.Environment.FORMAT_SQL, formatSql);
- entityManagerFactoryBean.setJpaProperties(jpaProperties);
- return entityManagerFactoryBean;
- }
- @Bean(name = "transactionManager")
- public PlatformTransactionManager annotationDrivenTransactionManager() {
- return new JpaTransactionManager();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement