Guest User

Untitled

a guest
Mar 19th, 2016
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.11 KB | None | 0 0
  1. package com.kui.config
  2.  
  3. import org.springframework.beans.factory.annotation.Autowired
  4. import org.springframework.beans.factory.annotation.Value
  5. import org.springframework.context.annotation.Bean
  6. import org.springframework.context.annotation.Configuration
  7. import org.springframework.core.env.Environment
  8. import org.springframework.jdbc.datasource.DriverManagerDataSource
  9. import org.springframework.orm.jpa.JpaTransactionManager
  10. import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean
  11. import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter
  12. import java.util.*
  13. import javax.sql.DataSource
  14.  
  15. @Configuration
  16. open class HibernateConfig {
  17.     @Autowired lateinit var env: Environment
  18.     @Autowired lateinit var entityManagerFactory: LocalContainerEntityManagerFactoryBean
  19.     @Autowired lateinit var dataSource: DataSource
  20.  
  21.     @Bean
  22.     open fun dataSource(): DataSource {
  23.         val source = DriverManagerDataSource()
  24.  
  25.         source.setDriverClassName(env.getProperty("db.driver"))
  26.         source.url = env.getProperty("db.url")
  27.         source.username = env.getProperty("db.username")
  28.         source.password = env.getProperty("db.password")
  29.  
  30.         return source
  31.     }
  32.  
  33.     @Bean
  34.     open fun entityManagerFactory(scanPackages: Package): LocalContainerEntityManagerFactoryBean {
  35.         val emf = LocalContainerEntityManagerFactoryBean()
  36.  
  37.         emf.dataSource = dataSource
  38.         emf.setPackagesToScan(env.getProperty("entitymanager.scan.packages"))
  39.         emf.jpaVendorAdapter = HibernateJpaVendorAdapter()
  40.  
  41.         val props = Properties()
  42.  
  43.         props.put("hibernate.dialect", env.getProperty("hibernate.dialect"))
  44.         props.put("hibernate.show_sql", env.getProperty("hibernate.show_sql"))
  45.         props.put("hibernate.hbm2ddl.auto", env.getProperty("hibernate.hbm2ddl.auto"))
  46.  
  47.         emf.setJpaProperties(props)
  48.  
  49.         return emf
  50.     }
  51.  
  52.     @Bean
  53.     open fun transactionManager(): JpaTransactionManager {
  54.         val txMngr = JpaTransactionManager()
  55.  
  56.         txMngr.entityManagerFactory = entityManagerFactory.`object`
  57.  
  58.         return txMngr
  59.     }
  60. }
Add Comment
Please, Sign In to add comment