Guest User

Untitled

a guest
Nov 1st, 2018
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. @Configuration
  2. @EnableTransactionManagement
  3. public class AppConfig {
  4.  
  5. @Bean
  6. public LocalContainerEntityManagerFactoryBean getEntityManagerFactory() {
  7.  
  8. LocalContainerEntityManagerFactoryBean emf = new LocalContainerEntityManagerFactoryBean();
  9. emf.setDataSource(getDataSource());
  10. emf.setPackagesToScan("jpa.models");
  11. JpaVendorAdapter adapter = new HibernateJpaVendorAdapter();
  12. emf.setJpaVendorAdapter(adapter);
  13. emf.setJpaProperties(getProperties());
  14. return emf;
  15. }
  16.  
  17. @Bean
  18. public DataSource getDataSource() {
  19. DriverManagerDataSource dtSrc = new DriverManagerDataSource();
  20. dtSrc.setDriverClassName("com.mysql.jdbc.Driver");
  21. dtSrc.setUrl("jdbc:mysql://localhost:3306/jpa_example");
  22. dtSrc.setUsername("dbuser1");
  23. dtSrc.setPassword("dbuser1");
  24. return dtSrc;
  25. }
  26. private Properties getProperties() {
  27. Properties p = new Properties();
  28. p.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");
  29. p.setProperty("hibernate.hbm2ddl.auto", "create");
  30. p.setProperty("hibernate.show_sql", "true");
  31. return p;
  32. }
  33.  
  34. //auto transaction management
  35. @Bean
  36. public PlatformTransactionManager getTransactionManager(EntityManagerFactory emf) {
  37. JpaTransactionManager manager = new JpaTransactionManager();
  38. manager.setEntityManagerFactory(emf);
  39.  
  40. return manager;
  41. }
  42.  
  43. //auto exception management
  44. @Bean
  45. public PersistenceExceptionTranslationPostProcessor getPostProcessor() {
  46. return new PersistenceExceptionTranslationPostProcessor();
  47. }
  48. }
  49.  
  50. @Component
  51. @Transactional
  52. public class BooksHandler {
  53.  
  54. @PersistenceContext
  55. private EntityManager em;
  56.  
  57. public Book createBook(String title, String isbn, int year) {
  58. Book b = new Book();
  59. b.setIsbn(isbn);b.setTitle(title);b.setYear(year);
  60. em.persist(b);
  61. System.out.println("book created: "+b.getId());
  62. return b;
  63. }
  64.  
  65. public Book getBook(int id) {
  66. return em.find(Book.class, id);
  67. }
  68. //other CRUD methods
  69. }
Add Comment
Please, Sign In to add comment