Advertisement
Guest User

dbconfig

a guest
Jul 10th, 2018
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. package com.example.config;
  2.  
  3. import com.zaxxer.hikari.HikariConfig;
  4. import com.zaxxer.hikari.HikariDataSource;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.context.annotation.Bean;
  7. import org.springframework.context.annotation.ComponentScan;
  8. import org.springframework.context.annotation.Configuration;
  9. import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
  10. import org.springframework.orm.jpa.JpaTransactionManager;
  11. import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
  12. import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
  13. import org.springframework.transaction.annotation.EnableTransactionManagement;
  14.  
  15. import java.util.Properties;
  16.  
  17. /**
  18. *
  19. *
  20. *
  21. */
  22. @Configuration
  23. @EnableJpaRepositories(basePackages = {
  24. "com.example"
  25. })
  26. @ComponentScan("com.example")
  27. @EnableTransactionManagement
  28. public class PersistenceContext {
  29.  
  30. @Bean
  31. public HikariDataSource dataSource() {
  32. HikariConfig config = new HikariConfig();
  33. //log.debug(String.format("---> Starting database connection with Driver: %s", databaseProperties.getConnection().getDriver()));
  34. //System.out.println("DRIVER::"+databaseProperties.getConnection().getDriver());
  35. config.setConnectionTestQuery("SELECT 1 FROM DUAL");
  36. config.setPoolName("jahez-api-v2-pool");
  37. config.setDriverClassName("oracle.jdbc.driver.OracleDriver");
  38. config.setJdbcUrl("jdbc:oracle:thin:@localhost:1521/jahezdb");
  39. config.setUsername("test");
  40. config.setPassword("test123456");
  41. config.setMaximumPoolSize(2);
  42. config.setMinimumIdle(1);
  43. config.setLeakDetectionThreshold(2000);
  44. config.setIdleTimeout(600000);
  45. config.setMaxLifetime(1800000);
  46. config.setRegisterMbeans(true);
  47. return new HikariDataSource(config);
  48. }
  49.  
  50. @Bean
  51. public JpaTransactionManager transactionManager() {
  52. JpaTransactionManager transactionManager = new JpaTransactionManager();
  53.  
  54. transactionManager.setEntityManagerFactory(entityManagerFactory().getObject());
  55.  
  56. return transactionManager;
  57. }
  58.  
  59. @Bean
  60. public HibernateJpaVendorAdapter hibernateJpaVendorAdapter() {
  61. return new HibernateJpaVendorAdapter();
  62. }
  63.  
  64. @Bean
  65. public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
  66. final Properties properties = new Properties();
  67. final LocalContainerEntityManagerFactoryBean lC = new LocalContainerEntityManagerFactoryBean();
  68. lC.setDataSource(dataSource());
  69. lC.setJpaVendorAdapter(hibernateJpaVendorAdapter());
  70. lC.setPackagesToScan("com.example");
  71. properties.setProperty("hibernate.hbm2ddl.auto", "validate");
  72. properties.setProperty("hibernate.dialect","com.example.demo.repository.Oracle10gDialectExtended");
  73. properties.setProperty("hibernate.jdbc.batch_size", "50");
  74. properties.setProperty("hibernate.default_schema", "test");
  75. properties.setProperty("hibernate.show_sql", "true");
  76. properties.setProperty("hibernate.cache.use_second_level_cache", "true");
  77. properties.setProperty("hibernate.cache.use_query_cache", "true");
  78. properties.setProperty("hibernate.cache.region.factory_class", "org.hibernate.cache.ehcache.EhCacheRegionFactory");
  79. properties.setProperty("javax.persistence.sharedCache.mode", "ENABLE_SELECTIVE");
  80. properties.setProperty("hibernate.connection.characterEncoding", "utf8");
  81. properties.setProperty("hibernate.connection.CharSet", "utf8");
  82. properties.setProperty("hibernate.connection.useUnicode", "true");
  83. properties.setProperty("hibernate.connection.defaultNChar", "true");
  84.  
  85. lC.setJpaProperties(properties);
  86. return lC;
  87. }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement