Advertisement
Guest User

Untitled

a guest
Dec 2nd, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.51 KB | None | 0 0
  1. @Entity
  2. @Table(name="contacts")
  3. public class Contact {
  4.  
  5. @Id
  6. @Column(name = "id")
  7. @GeneratedValue(strategy = GenerationType.IDENTITY)
  8. private Integer id;
  9.  
  10. @Column(name = "name" )
  11. private String name;
  12.  
  13. @Column(name = "phone")
  14. private Long phone;
  15.  
  16. @Column(name = "description")
  17. private String description;
  18.  
  19. public Integer getId() {
  20. return id;
  21. }
  22.  
  23. public void setId(Integer id) {
  24. this.id = id;
  25. }
  26.  
  27. public String getName() {
  28. return name;
  29. }
  30.  
  31. public void setName(String name) {
  32. this.name = name;
  33. }
  34.  
  35. public Long getPhone() {
  36. return phone;
  37. }
  38.  
  39. public void setPhone(Long phone) {
  40. this.phone = phone;
  41. }
  42.  
  43. public String getDescription() {
  44. return description;
  45. }
  46.  
  47. public void setDescription(String description) {
  48. this.description = description;
  49. }
  50.  
  51. @Repository
  52. public class ContactDao implements GenericDao<Contact, Integer> {
  53.  
  54. @Autowired
  55. @Qualifier("sessionFactory")
  56. private SessionFactory sessionFactory;
  57.  
  58. private Session getSession() {
  59. return sessionFactory.openSession();
  60. }
  61. /*
  62. public getCurrentSession() {
  63. return sessionFactory.openSession();
  64. }
  65. */
  66. public void addContact(Contact contact) {
  67. getSession().save(contact);
  68. }
  69.  
  70. @Override
  71. public Contact create(Contact newInstance) {
  72. getSession().save(newInstance);
  73. return newInstance;
  74. }
  75.  
  76. @Override
  77. public Contact read(int id) {
  78. Contact contact = getSession().get(Contact.class, id);
  79. return contact;
  80. }
  81.  
  82. @Override
  83. public void update(Contact object) {
  84. Contact contact = (Contact) getSession().merge(object);
  85. getSession().update(contact);
  86. }
  87.  
  88. @Override
  89. public void delete(int id) {
  90. Contact contact = read(id);
  91. if(contact != null) {
  92. getSession().delete(contact);
  93. }
  94. }
  95.  
  96. @SuppressWarnings("unchecked")
  97. public List<Contact> listContacts() {
  98. return getSession().createQuery("from Contact").list();
  99. }
  100.  
  101. }
  102.  
  103. @Configuration
  104. @EnableTransactionManagement
  105. @PropertySource("classpath:application.properties")
  106. public class DatabaseConfig {
  107.  
  108. private static final String PROPERTY_NAME_DATABASE_DRIVER = "db.driver";
  109. private static final String PROPERTY_NAME_DATABASE_URL = "db.url";
  110. private static final String PROPERTY_NAME_DATABASE_USERNAME = "db.username";
  111. private static final String PROPERTY_NAME_DATABASE_PASSWORD = "db.password";
  112.  
  113. private static final String PROPERTY_NAME_HIBERNATE_DIALECT = "hibernate.dialect";
  114. private static final String PROPERTY_NAME_HIBERNATE_SHOW_SQL = "hibernate.show_sql";
  115. private static final String PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN = "entitymanager.packages.to.scan";
  116.  
  117. @Resource
  118. private Environment env;
  119.  
  120. @Bean
  121. public DataSource dataSource() {
  122. DriverManagerDataSource dataSource = new DriverManagerDataSource();
  123. dataSource.setDriverClassName(env.getRequiredProperty(PROPERTY_NAME_DATABASE_DRIVER));
  124. dataSource.setUrl(env.getRequiredProperty(PROPERTY_NAME_DATABASE_URL));
  125. dataSource.setUsername(env.getRequiredProperty(PROPERTY_NAME_DATABASE_USERNAME));
  126. dataSource.setPassword(env.getRequiredProperty(PROPERTY_NAME_DATABASE_PASSWORD));
  127.  
  128. return dataSource;
  129. }
  130.  
  131. @Bean
  132. public LocalSessionFactoryBean sessionFactory() {
  133. LocalSessionFactoryBean sessionFactoryBean = new LocalSessionFactoryBean();
  134. sessionFactoryBean.setDataSource(dataSource());
  135. sessionFactoryBean.setPackagesToScan(env.getRequiredProperty(PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN));
  136. sessionFactoryBean.setHibernateProperties(hibProperties());
  137. return sessionFactoryBean;
  138. }
  139.  
  140. private Properties hibProperties() {
  141. Properties properties = new Properties();
  142. properties.put(PROPERTY_NAME_HIBERNATE_DIALECT, env.getRequiredProperty(PROPERTY_NAME_HIBERNATE_DIALECT));
  143. properties.put(PROPERTY_NAME_HIBERNATE_SHOW_SQL, env.getRequiredProperty(PROPERTY_NAME_HIBERNATE_SHOW_SQL));
  144. return properties;
  145. }
  146.  
  147. /**@Bean
  148. public HibernateTransactionManager transactionManager() {
  149. HibernateTransactionManager transactionManager = new HibernateTransactionManager();
  150. transactionManager.setSessionFactory(sessionFactory().getObject());
  151. return transactionManager;
  152. }**/
  153.  
  154. @Bean
  155. @Primary
  156. public LocalContainerEntityManagerFactoryBean entityManagerFactoryBean() {
  157. LocalContainerEntityManagerFactoryBean entityManagerFactoryBean =
  158. new LocalContainerEntityManagerFactoryBean();
  159. entityManagerFactoryBean.setDataSource(dataSource());
  160. entityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistenceProvider.class);
  161. entityManagerFactoryBean.setPackagesToScan(env.getRequiredProperty(PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN));
  162. entityManagerFactoryBean.setJpaProperties(hibProperties());
  163. return entityManagerFactoryBean;
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement