求助! spring 事务问题????
我想问的问题:
事务模板配置:
<bean id="txProxyTemplate" abstract="true" />
</property>
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="set*">PROPAGATION_REQUIRED</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
两个service配置:
<bean id="businesswordService" parent="txProxyTemplate">
<property name="target">
<bean autowire="byName" />
</property>
</bean>
<bean id="searchService" parent="txProxyTemplate">
<property name="target">
<bean autowire="byName" />
</property>
</bean>
我在searchService的一个方法里面
1、有自己的保存实体的操作
2、调用businesswordService里的一个方法保存实体
现在假如我在操作第二个功能的时候,报错了,怎么让第一个操作也回退?
希望大家能帮我,教我怎么配置这个事务?
谢谢了
一个BaseService和接口IBaseService
一个ExcelService(继承BaseService)和接口IExcelService(继承IBaseService)
实现的功能是:
从Excel文件导入数据,文件中的一行,插入数据库中一条记录
在ExcelService中有个方法
public void importData(Sheet sheet){
int rows = sheet.getRows();
for(int i=0;i<rows;i++){
SUser user = new SUser();
....
this.save(user);//这个方法是BaseService中实现的
}
}
现在假如Excel文件中的中间某一行记录插入失败的话,我想整个事务回滚到调用前的状态?
现在我配置的事务不起作用,前面几条记录,已经成功插入到数据库了?
事务,太难了 !!!