方法一:
事务配置:applicatoncontext.xml
1
<!-- 配置事务管理器 -->
2
<bean id="transactionManager"
3
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
4
<property name="sessionFactory">
5
<ref local="sessionFactory" />
6
</property>
7
</bean>
8
<!---->
9
<bean id="txProxyTemplate" abstract="true"
10
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
11
<property name="transactionManager">
12
<ref bean="transactionManager" />
13
</property>
14
<property name="transactionAttributes">
15
<props>
16
<prop key="query*">PROPAGATION_REQUIRED,readOnly,-Exception</prop>
17
<prop key="find*">PROPAGATION_REQUIRED,readOnly,-Exception</prop>
18
<prop key="add*">PROPAGATION_REQUIRED,-Exception</prop>
19
<prop key="update*">PROPAGATION_REQUIRED,-Exception</prop>
20
<prop key="delete*">PROPAGATION_REQUIRED,-Exception</prop>
21
<prop key="save*">PROPAGATION_REQUIRED,-Exception</prop>
22
</props>
23
</property>
24
</bean> 事务测试(BO继承事务):applicationcontext.xml
<bean id="SysJobBO" parent="txProxyTemplate">
<property name="target">
<bean
class="com.gzlt.sys.user.bo.impl.SysJobBOImpl">
<property name="commonDAO"
ref="CommonDAO">
</property>
</bean>
</property>
</bean>BOIMPL中:
@Override
public boolean updates(SysJob sysJob) throws Exception {
// TODO Auto-generated method stub
commonDAO.add(sysJob);
sysJob.setIsLeaf("453322222222222222ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss");
commonDAO.add(sysJob);
return true;
}如果事务未起作用,请查看:
1、action中的方法是不是不以add,update,。。开头。
2、有可能是抛出的异常将事务舍弃了。 如果try catch 异常为 applicationException 请改为 applicationException 试试。
方法二: