Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.gawryluk.konrad.configuration;
- import org.hibernate.SessionFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.ComponentScan;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.jdbc.datasource.DriverManagerDataSource;
- import org.springframework.orm.hibernate5.HibernateTransactionManager;
- import org.springframework.orm.hibernate5.LocalSessionFactoryBean;
- import org.springframework.transaction.annotation.EnableTransactionManagement;
- import java.util.Properties;
- @Configuration
- @ComponentScan(basePackages = "com.gawryluk.konrad")
- @EnableTransactionManagement
- public class SpringRootConfiguration {
- @Bean
- public LocalSessionFactoryBean sessionFactory() {
- LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
- sessionFactory.setDataSource(dataSource());
- sessionFactory.setPackagesToScan("com.gawryluk.konrad.entity");
- sessionFactory.setHibernateProperties(hibernateProperties());
- return sessionFactory;
- }
- @Bean
- public DriverManagerDataSource dataSource() {
- DriverManagerDataSource dataSource = new DriverManagerDataSource();
- dataSource.setDriverClassName("com.mysql.jdbc.Driver");
- dataSource.setUrl("jdbc:mysql://localhost:3306/ContactBook");
- dataSource.setUsername("root");
- dataSource.setPassword("1234");
- dataSource.setConnectionProperties(connectionProperties());
- return dataSource;
- }
- private Properties connectionProperties() {
- Properties properties = new Properties();
- properties.put("useSSL", "false");
- properties.put("serverTimezone", "UTC");
- properties.put("characterEncoding", "utf8");
- properties.put("createDatabaseIfNotExist", "true");
- return properties;
- }
- private Properties hibernateProperties() {
- Properties properties = new Properties();
- properties.put("hibernate.dialect", "com.gawryluk.konrad.configuration.MySQL5DialectExtension");
- properties.put("hibernate.show_sql", "false");
- properties.put("hibernate.format_sql", "false");
- properties.put("hibernate.hmb2ddl.auto", "update");
- return properties;
- }
- @Bean
- @Autowired
- public HibernateTransactionManager transactionManager(SessionFactory sessionFactory) {
- HibernateTransactionManager transactionManager = new HibernateTransactionManager();
- transactionManager.setSessionFactory(sessionFactory);
- return transactionManager;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement