Advertisement
Guest User

Untitled

a guest
Aug 27th, 2016
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.83 KB | None | 0 0
  1. @Configuration
  2. @ComponentScan(basePackages = "com.evgenltd.levit.core")
  3. @EnableTransactionManagement
  4. public class Config {
  5.  
  6.     @Bean
  7.     public LocalContainerEntityManagerFactoryBean entityManagerFactory()    {
  8.  
  9.         final Map<String,Object> properties = new HashMap<>();
  10.         properties.put("hibernate.hbm2ddl.auto","none");
  11.         properties.put("hibernate.dialect","org.hibernate.dialect.SQLiteDialect");
  12.         properties.put("hibernate.show_sql","false");
  13.         properties.put("hibernate.connection.foreign_keys","true");
  14.         properties.put("hibernate.connection.autocommit","false");
  15.  
  16.         final JpaVendorAdapter jpaVendorAdapter = new HibernateJpaVendorAdapter();
  17.  
  18.         final LocalContainerEntityManagerFactoryBean entityManagerFactory = new LocalContainerEntityManagerFactoryBean();
  19.         entityManagerFactory.setDataSource(dataSource());
  20.         entityManagerFactory.setPackagesToScan("com.evgenltd.levit.core.entity");
  21.         entityManagerFactory.setJpaVendorAdapter(jpaVendorAdapter);
  22.         entityManagerFactory.setJpaPropertyMap(properties);
  23.  
  24.         return entityManagerFactory;
  25.     }
  26.  
  27.     @Bean
  28.     public SingleConnectionDataSource dataSource()  {
  29.         try {
  30.             Class.forName("org.sqlite.JDBC");
  31.             final Connection connection = DriverManager.getConnection("jdbc:sqlite:data.db");
  32.             connection.setAutoCommit(false);
  33.  
  34.             final Statement statement = connection.createStatement();
  35.             statement.executeUpdate("pragma foreign_keys = on");
  36.             statement.close();
  37.  
  38.             return new SingleConnectionDataSource(connection, true);
  39.         }catch(Exception e) {
  40.             throw new RuntimeException(e);
  41.         }
  42.     }
  43.  
  44.     @Bean
  45.     public PlatformTransactionManager transactionManager(final EntityManagerFactory entityManagerFactory)   {
  46.         final JpaTransactionManager jpaTransactionManager = new JpaTransactionManager();
  47.         jpaTransactionManager.setEntityManagerFactory(entityManagerFactory);
  48.         return jpaTransactionManager;
  49.     }
  50.  
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement