| Code: |
|
public void save(User transientInstance) { log.debug("saving User instance"); try { Session session = HibernateSessionFactory.getSession(); Transaction tx = session.beginTransaction(); tx.begin(); session.save(transientInstance); tx.commit(); log.debug("save successful"); } catch (RuntimeException re) { log.error("save failed", re); throw re; } } public void delete(User persistentInstance) { log.debug("deleting User instance"); try { Session session = HibernateSessionFactory.getSession(); Transaction tx = session.beginTransaction(); tx.begin(); session.delete(persistentInstance); tx.commit(); log.debug("delete successful"); } catch (RuntimeException re) { log.error("delete failed", re); throw re; } } public User merge(User detachedInstance) { log.debug("merging User instance"); try { Session session = HibernateSessionFactory.getSession(); Transaction tx = session.beginTransaction(); tx.begin(); User result = (User) session .merge(detachedInstance); tx.commit(); log.debug("merge successful"); return result; } catch (RuntimeException re) { log.error("merge failed", re); throw re; } } |
| Code: |
|
package com.myeclipse.hibernatespring; public interface IUser { } |
| Code: |
|
public class UserDAO extends HibernateDaoSupport implements IUser{ |
| Code: |
|
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="file:src/hibernate.cfg.xml"> </property> </bean> <bean id="userDAOTarget" class="com.myeclipse.hibernatespring.UserDAO"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <bean id="userDAOService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager" ref="transactionManager"/> <property name="transactionAttributes"> <props> <prop key="add*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="delete*">PROPAGATION_REQUIRED</prop> </props> </property> <property name="target"><ref local="persistenceLayer"/></property> </bean> <bean id="persistenceLayer" class="com.myeclipse.hibernatespring.PersistenceLayer" abstract="false" singleton="true" lazy-init="default" autowire="default" dependency-check="default"> <property name="userDAO"> <ref bean="userDAOTarget" /> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"><ref bean="sessionFactory"/></property> </bean> </beans> |
| Code: |
|
PersistenceLayer persistenceLayer = (PersistenceLayer) beanFactory .getBean("persistenceLayer"); |
| Code: |
|
PersistenceLayer persistenceLayer = (PersistenceLayer) beanFactory .getBean("userDAOService"); |
| Code: |
|
persistenceLayer.deleteUser(user); |