读书人

! spring 事务有关问题?

发布时间: 2012-10-28 09:54:44 作者: rapoo

求助! 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文件中的中间某一行记录插入失败的话,我想整个事务回滚到调用前的状态?

现在我配置的事务不起作用,前面几条记录,已经成功插入到数据库了?

事务,太难了 !!!

读书人网 >软件架构设计

热点推荐