Advertisement
Guest User

Untitled

a guest
Feb 13th, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.61 KB | None | 0 0
  1. package se.grouprich.projectmanagement.config;
  2.  
  3. import javax.persistence.EntityManagerFactory;
  4. import javax.sql.DataSource;
  5.  
  6. import org.springframework.context.annotation.Bean;
  7. import org.springframework.context.annotation.Configuration;
  8. import org.springframework.data.auditing.DateTimeProvider;
  9. import org.springframework.data.domain.AuditorAware;
  10. import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
  11. import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
  12. import org.springframework.orm.jpa.JpaTransactionManager;
  13. import org.springframework.orm.jpa.JpaVendorAdapter;
  14. import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
  15. import org.springframework.orm.jpa.vendor.Database;
  16. import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
  17. import org.springframework.transaction.annotation.EnableTransactionManagement;
  18.  
  19. import com.zaxxer.hikari.HikariConfig;
  20. import com.zaxxer.hikari.HikariDataSource;
  21.  
  22. import se.grouprich.projectmanagement.model.auditing.AuditingDateTimeProvider;
  23. import se.grouprich.projectmanagement.model.auditing.UsernameAuditorAware;
  24.  
  25. @Configuration
  26. @EnableJpaRepositories("se.grouprich.projectmanagement.repository")
  27. @EnableTransactionManagement
  28. @EnableJpaAuditing(auditorAwareRef = "auditorProvider", dateTimeProviderRef = "dateTimeProvider")
  29. public class AppConfig
  30. {
  31. @Bean
  32. public DataSource dataSource()
  33. {
  34. HikariConfig config = new HikariConfig();
  35. config.setDriverClassName("com.mysql.jdbc.Driver");
  36. config.setJdbcUrl("jdbc:mysql://localhost:3306/ProjectManagement_Database");
  37. config.setUsername("root");
  38. config.setPassword("root");
  39.  
  40. return new HikariDataSource(config);
  41. }
  42.  
  43. @Bean
  44. public JpaTransactionManager transactionManager(EntityManagerFactory factory)
  45. {
  46. return new JpaTransactionManager(factory);
  47. }
  48.  
  49. @Bean
  50. public JpaVendorAdapter jpaVendorAdapter()
  51. {
  52. HibernateJpaVendorAdapter adapter = new HibernateJpaVendorAdapter();
  53. adapter.setDatabase(Database.MYSQL);
  54. adapter.setGenerateDdl(true);
  55. // adapter.setShowSql(true); // lagt till den här temporart för att
  56. // kunna se Sql-log
  57.  
  58. return adapter;
  59. }
  60.  
  61. @Bean
  62. public LocalContainerEntityManagerFactoryBean entityManagerFactory()
  63. {
  64. LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
  65. factory.setDataSource(dataSource());
  66. factory.setJpaVendorAdapter(jpaVendorAdapter());
  67. factory.setPackagesToScan("se.grouprich.projectmanagement.model");
  68.  
  69. return factory;
  70. }
  71.  
  72. @Bean
  73. DateTimeProvider dateTimeProvider()
  74. {
  75. return new AuditingDateTimeProvider();
  76. }
  77.  
  78. @Bean
  79. AuditorAware<String> auditorProvider()
  80. {
  81. return new UsernameAuditorAware();
  82. }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement