Advertisement
Guest User

JpaConfig

a guest
May 1st, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.19 KB | None | 0 0
  1. @Configuration
  2. @EnableTransactionManagement
  3. @EnableJpaRepositories("com.dataart.citybikerentalservicespring.persistence.repo")
  4. public class JpaConfig {
  5.  
  6.     @Bean
  7.     public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
  8.         LocalContainerEntityManagerFactoryBean entityManagerFactory = new LocalContainerEntityManagerFactoryBean();
  9.         entityManagerFactory.setDataSource(dataSource());
  10.         entityManagerFactory.setPackagesToScan("com.dataart.citybikerentalservicespring.persistence.model");
  11.  
  12.  
  13.         JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
  14.         entityManagerFactory.setJpaVendorAdapter(vendorAdapter);
  15.         entityManagerFactory.setJpaProperties(additionalProperties());
  16.         return entityManagerFactory;
  17.     }
  18.  
  19.     @Bean
  20.     public DataSource dataSource() {
  21.         DataSource dataSource = new DataSource();
  22.  
  23.         dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
  24.         dataSource.setUrl("jdbc:mysql://localhost:3306/bikerentalservicedb?serverTimezone=Europe/Warsaw");
  25.         dataSource.setUsername("rentalServiceApp");
  26.         dataSource.setPassword("service");
  27.         dataSource.setRemoveAbandoned(true);
  28.         dataSource.setInitialSize(5);
  29.         dataSource.setMaxActive(10);
  30.         dataSource.setMaxIdle(5);
  31.         dataSource.setMinIdle(2);
  32.         dataSource.setValidationQuery("select 1");
  33.  
  34.         return dataSource;
  35.     }
  36.  
  37.     @Bean
  38.     public PlatformTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) {
  39.         JpaTransactionManager transactionManager = new JpaTransactionManager();
  40.         transactionManager.setEntityManagerFactory(entityManagerFactory);
  41.  
  42.         return transactionManager;
  43.     }
  44.  
  45.     @Bean
  46.     public PersistenceExceptionTranslationPostProcessor exceptionTranslationPostProcessor() {
  47.         return new PersistenceExceptionTranslationPostProcessor();
  48.     }
  49.  
  50.     private Properties additionalProperties() {
  51.         Properties properties = new Properties();
  52.         properties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");
  53.         properties.setProperty("hibernate.show_sql", "false");
  54.         return properties;
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement