Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Entity
- @Table(name="contacts")
- public class Contact {
- @Id
- @Column(name = "id")
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- private Integer id;
- @Column(name = "name" )
- private String name;
- @Column(name = "phone")
- private Long phone;
- @Column(name = "description")
- private String description;
- public Integer getId() {
- return id;
- }
- public void setId(Integer id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Long getPhone() {
- return phone;
- }
- public void setPhone(Long phone) {
- this.phone = phone;
- }
- public String getDescription() {
- return description;
- }
- public void setDescription(String description) {
- this.description = description;
- }
- @Repository
- public class ContactDao implements GenericDao<Contact, Integer> {
- @Autowired
- @Qualifier("sessionFactory")
- private SessionFactory sessionFactory;
- private Session getSession() {
- return sessionFactory.openSession();
- }
- /*
- public getCurrentSession() {
- return sessionFactory.openSession();
- }
- */
- public void addContact(Contact contact) {
- getSession().save(contact);
- }
- @Override
- public Contact create(Contact newInstance) {
- getSession().save(newInstance);
- return newInstance;
- }
- @Override
- public Contact read(int id) {
- Contact contact = getSession().get(Contact.class, id);
- return contact;
- }
- @Override
- public void update(Contact object) {
- Contact contact = (Contact) getSession().merge(object);
- getSession().update(contact);
- }
- @Override
- public void delete(int id) {
- Contact contact = read(id);
- if(contact != null) {
- getSession().delete(contact);
- }
- }
- @SuppressWarnings("unchecked")
- public List<Contact> listContacts() {
- return getSession().createQuery("from Contact").list();
- }
- }
- @Configuration
- @EnableTransactionManagement
- @PropertySource("classpath:application.properties")
- public class DatabaseConfig {
- private static final String PROPERTY_NAME_DATABASE_DRIVER = "db.driver";
- private static final String PROPERTY_NAME_DATABASE_URL = "db.url";
- private static final String PROPERTY_NAME_DATABASE_USERNAME = "db.username";
- private static final String PROPERTY_NAME_DATABASE_PASSWORD = "db.password";
- private static final String PROPERTY_NAME_HIBERNATE_DIALECT = "hibernate.dialect";
- private static final String PROPERTY_NAME_HIBERNATE_SHOW_SQL = "hibernate.show_sql";
- private static final String PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN = "entitymanager.packages.to.scan";
- @Resource
- private Environment env;
- @Bean
- public DataSource dataSource() {
- DriverManagerDataSource dataSource = new DriverManagerDataSource();
- dataSource.setDriverClassName(env.getRequiredProperty(PROPERTY_NAME_DATABASE_DRIVER));
- dataSource.setUrl(env.getRequiredProperty(PROPERTY_NAME_DATABASE_URL));
- dataSource.setUsername(env.getRequiredProperty(PROPERTY_NAME_DATABASE_USERNAME));
- dataSource.setPassword(env.getRequiredProperty(PROPERTY_NAME_DATABASE_PASSWORD));
- return dataSource;
- }
- @Bean
- public LocalSessionFactoryBean sessionFactory() {
- LocalSessionFactoryBean sessionFactoryBean = new LocalSessionFactoryBean();
- sessionFactoryBean.setDataSource(dataSource());
- sessionFactoryBean.setPackagesToScan(env.getRequiredProperty(PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN));
- sessionFactoryBean.setHibernateProperties(hibProperties());
- return sessionFactoryBean;
- }
- private Properties hibProperties() {
- Properties properties = new Properties();
- properties.put(PROPERTY_NAME_HIBERNATE_DIALECT, env.getRequiredProperty(PROPERTY_NAME_HIBERNATE_DIALECT));
- properties.put(PROPERTY_NAME_HIBERNATE_SHOW_SQL, env.getRequiredProperty(PROPERTY_NAME_HIBERNATE_SHOW_SQL));
- return properties;
- }
- /**@Bean
- public HibernateTransactionManager transactionManager() {
- HibernateTransactionManager transactionManager = new HibernateTransactionManager();
- transactionManager.setSessionFactory(sessionFactory().getObject());
- return transactionManager;
- }**/
- @Bean
- @Primary
- public LocalContainerEntityManagerFactoryBean entityManagerFactoryBean() {
- LocalContainerEntityManagerFactoryBean entityManagerFactoryBean =
- new LocalContainerEntityManagerFactoryBean();
- entityManagerFactoryBean.setDataSource(dataSource());
- entityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistenceProvider.class);
- entityManagerFactoryBean.setPackagesToScan(env.getRequiredProperty(PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN));
- entityManagerFactoryBean.setJpaProperties(hibProperties());
- return entityManagerFactoryBean;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement