spring 注解事务的问题
这是配置文件:
<!-- 事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 开启基于注解的事务配置 -->
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />
部分java 代码:
@Transactional(readOnly = false, propagation = Propagation.REQUIRED , rollbackFor = { CPlatformServiceException.class })
public int modShopRemoteUpgrade(long id, String versionId, String updateTime, String updateContent,String softWarePath) {
int affCnt = shopRemoteUpgradeDao.updateRemoteUpgrade( id, versionId, updateTime, updateContent,softWarePath);
TShgjVersion version=new TShgjVersion();
shopRemoteUpgradeDao.insertRemoteUpgrade(version);
return affCnt;
}
蓝色部分可以修改数据
红色部分我故意让其报错 ,而且抛出CPlatformServiceException.class异常
我此时把注解部分的 rollbackFor = { CPlatformServiceException.class }给去掉
我的目的就是不让程序回滚,
此时操作程序,按理说,
蓝色部分的数据应该会被修改的。但是,我经过测试发现,蓝色部分的数据还是没有改过来,这应该不符合我的要求的,请求帮助。
------解决方案--------------------
看传智播客的视频吧,会有帮助的