以前看过银行转帐的那个例子,最近第一次用事务,有些地方不太明白,请教大家了我这样设置的,也就是把事务加到所有的DaoImp中,<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean name="tansactionIntercepter"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref local="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<value>*DaoImp</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>tansactionIntercepter</value>
</list>
</property>
</bean>我有一个疑问,如果把这个DaoImp注入到Service然后把Service注入到Action中,Action中用一个方法更新原来帐号中的余额记录(转出钱),然后同样的用另一个方法更新另一个帐号中的余额(转入钱).因为事务是加到DaoImp中的,每次Service调用方法都相当于是调用DaoImp中的方法,如果该方法的执行出现问题,事务就起作用.但是Action里用的是两个方法,如果转出钱的方法正常,转入钱的方法失败,也只会回滚转入钱的方法啊.这样钱就消失了.
请问是我的理解上有问题还是实现思路上有问题?
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean name="tansactionIntercepter"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref local="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<value>*DaoImp</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>tansactionIntercepter</value>
</list>
</property>
</bean>我有一个疑问,如果把这个DaoImp注入到Service然后把Service注入到Action中,Action中用一个方法更新原来帐号中的余额记录(转出钱),然后同样的用另一个方法更新另一个帐号中的余额(转入钱).因为事务是加到DaoImp中的,每次Service调用方法都相当于是调用DaoImp中的方法,如果该方法的执行出现问题,事务就起作用.但是Action里用的是两个方法,如果转出钱的方法正常,转入钱的方法失败,也只会回滚转入钱的方法啊.这样钱就消失了.
请问是我的理解上有问题还是实现思路上有问题?
解决方案 »
- JSP页面实现下拉列表框的问题
- “IE:download”这个标签,在其他非IE浏览器里有没有类似的功能标签啊?
- hibernate
- 学struts2该选什么书好
- struts+hibernate如何实现上传图片
- 学习Hibernate中遇到的一堆问题,我实在无力解决!
- 怎么把myeclipse项转成maven项目 求maven大神支招
- 我的tomcat安装了,网站用的是sql sever数据库,应该怎么连接?
- cloudscape view的问题,可以显示界面,但不能新建和打开数据库
- ejb handle和home handle 是干什么的?
- java中document转成XML有错
- 全球知名播放器厂商高薪急寻System operator
<value>*DaoImp</value>
</list>
中加上<value>*Service</value>