Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.escapeProject.config;
- import org.hibernate.ejb.HibernatePersistence;
- //import org.hibernate.jpa.HibernatePersistenceProvider;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.context.annotation.PropertySource;
- import org.springframework.core.env.Environment;
- import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
- import org.springframework.jdbc.datasource.DriverManagerDataSource;
- import org.springframework.orm.jpa.JpaTransactionManager;
- import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
- import org.springframework.transaction.annotation.EnableTransactionManagement;
- import javax.annotation.Resource;
- import javax.sql.DataSource;
- import java.util.Properties;
- /**
- * Created by Chuck Norris on 2017-03-06.
- */
- @Configuration
- @EnableTransactionManagement
- @EnableJpaRepositories("com.escapeProject")
- public class DataBaseConfig {
- private static final String PROPERTY_NAME_DATABASE_DRIVER = "com.mysql.jdbc.Driver";
- private static final String PROPERTY_NAME_DATABASE_PASSWORD = "123456";
- private static final String PROPERTY_NAME_DATABASE_URL = "jdbc:mysql://localhost:3306/escape";
- private static final String PROPERTY_NAME_DATABASE_USERNAME = "root";
- private static final String PROPERTY_NAME_HIBERNATE_DIALECT = "org.hibernate.dialect.MySQLDialect";
- private static final String PROPERTY_NAME_HIBERNATE_SHOW_SQL = "true";
- private static final String PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN = "com.escapeProject.config"; //does not works
- @Resource
- private Environment env;
- @Bean
- public DataSource dataSource(){
- DriverManagerDataSource dataSource = new DriverManagerDataSource();
- dataSource.setDriverClassName(PROPERTY_NAME_DATABASE_DRIVER);
- dataSource.setUrl(PROPERTY_NAME_DATABASE_URL);
- dataSource.setUsername(PROPERTY_NAME_DATABASE_USERNAME);
- dataSource.setPassword(PROPERTY_NAME_DATABASE_PASSWORD);
- return dataSource;
- }
- @Bean
- public LocalContainerEntityManagerFactoryBean entityManagerFactoryBean(){
- LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
- entityManagerFactoryBean.setDataSource(dataSource());
- entityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistence.class);
- entityManagerFactoryBean.setPackagesToScan(getClass().getPackage().getName());
- //entityManagerFactoryBean.setPackagesToScan(env.getRequiredProperty(PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN));
- entityManagerFactoryBean.setJpaProperties(hibProperties());
- return entityManagerFactoryBean;
- }
- @Bean
- public Properties hibProperties(){
- Properties properties = new Properties();
- //properties.put(PROPERTY_NAME_HIBERNATE_DIALECT, env.getRequiredProperty(PROPERTY_NAME_HIBERNATE_DIALECT));
- properties.put("hibernate.hbm2ddl.auto", "create-drop");
- //properties.put(PROPERTY_NAME_HIBERNATE_SHOW_SQL, env.getRequiredProperty(PROPERTY_NAME_HIBERNATE_SHOW_SQL));
- properties.put("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
- return properties;
- }
- @Bean
- public JpaTransactionManager jpaTransactionManager(){
- JpaTransactionManager jpaTransactionManager = new JpaTransactionManager();
- jpaTransactionManager.setEntityManagerFactory(entityManagerFactoryBean().getObject());
- return jpaTransactionManager;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement