Advertisement
Guest User

Untitled

a guest
Mar 8th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.58 KB | None | 0 0
  1. package com.escapeProject.config;
  2.  
  3.  
  4. import org.hibernate.ejb.HibernatePersistence;
  5. //import org.hibernate.jpa.HibernatePersistenceProvider;
  6. import org.springframework.context.annotation.Bean;
  7. import org.springframework.context.annotation.Configuration;
  8. import org.springframework.context.annotation.PropertySource;
  9. import org.springframework.core.env.Environment;
  10. import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
  11. import org.springframework.jdbc.datasource.DriverManagerDataSource;
  12. import org.springframework.orm.jpa.JpaTransactionManager;
  13. import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
  14. import org.springframework.transaction.annotation.EnableTransactionManagement;
  15.  
  16. import javax.annotation.Resource;
  17. import javax.sql.DataSource;
  18. import java.util.Properties;
  19.  
  20. /**
  21.  * Created by Chuck Norris on 2017-03-06.
  22.  */
  23.  
  24. @Configuration
  25. @EnableTransactionManagement
  26. @EnableJpaRepositories("com.escapeProject")
  27. public class DataBaseConfig {
  28.  
  29.     private static final String PROPERTY_NAME_DATABASE_DRIVER = "com.mysql.jdbc.Driver";
  30.     private static final String PROPERTY_NAME_DATABASE_PASSWORD = "123456";
  31.     private static final String PROPERTY_NAME_DATABASE_URL = "jdbc:mysql://localhost:3306/escape";
  32.     private static final String PROPERTY_NAME_DATABASE_USERNAME = "root";
  33.  
  34.     private static final String PROPERTY_NAME_HIBERNATE_DIALECT = "org.hibernate.dialect.MySQLDialect";
  35.     private static final String PROPERTY_NAME_HIBERNATE_SHOW_SQL = "true";
  36.     private static final String PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN = "com.escapeProject.config"; //does not works
  37.  
  38.     @Resource
  39.     private Environment env;
  40.  
  41.     @Bean
  42.     public DataSource dataSource(){
  43.         DriverManagerDataSource dataSource = new DriverManagerDataSource();
  44.  
  45.         dataSource.setDriverClassName(PROPERTY_NAME_DATABASE_DRIVER);
  46.         dataSource.setUrl(PROPERTY_NAME_DATABASE_URL);
  47.         dataSource.setUsername(PROPERTY_NAME_DATABASE_USERNAME);
  48.         dataSource.setPassword(PROPERTY_NAME_DATABASE_PASSWORD);
  49.  
  50.         return dataSource;
  51.     }
  52.  
  53.     @Bean
  54.     public LocalContainerEntityManagerFactoryBean entityManagerFactoryBean(){
  55.         LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
  56.         entityManagerFactoryBean.setDataSource(dataSource());
  57.         entityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistence.class);
  58.         entityManagerFactoryBean.setPackagesToScan(getClass().getPackage().getName());
  59.         //entityManagerFactoryBean.setPackagesToScan(env.getRequiredProperty(PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN));
  60.  
  61.         entityManagerFactoryBean.setJpaProperties(hibProperties());
  62.  
  63.         return entityManagerFactoryBean;
  64.     }
  65.  
  66.     @Bean
  67.     public Properties hibProperties(){
  68.         Properties properties = new Properties();
  69.         //properties.put(PROPERTY_NAME_HIBERNATE_DIALECT, env.getRequiredProperty(PROPERTY_NAME_HIBERNATE_DIALECT));
  70.         properties.put("hibernate.hbm2ddl.auto", "create-drop");
  71.         //properties.put(PROPERTY_NAME_HIBERNATE_SHOW_SQL, env.getRequiredProperty(PROPERTY_NAME_HIBERNATE_SHOW_SQL));
  72.         properties.put("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
  73.  
  74.         return properties;
  75.     }
  76.  
  77.  
  78.     @Bean
  79.     public JpaTransactionManager jpaTransactionManager(){
  80.         JpaTransactionManager jpaTransactionManager = new JpaTransactionManager();
  81.         jpaTransactionManager.setEntityManagerFactory(entityManagerFactoryBean().getObject());
  82.         return jpaTransactionManager;
  83.     }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement