关于Spring的声明式事务,如果在被事务代理的service里手动捕获异常就无法回滚,而不手动捕获异常才可以回滚,这样就使得页面直接打印错误信息出来,怎么办??!!
try {
//一系列的操作
}catch(Exception e) {
}
如果把try去掉,事务就起作用,但由于没有处理异常,至使页面直接产生错误。但用try又不会回滚,怎么办呀?
=================================
Spring的事务配置,用的是2.0支持的Annotation配置:
<tx:annotation-driven transaction-manager="transactionManager"/>
Service的方法:
@Transactional(propagation=Propagation.REQUIRED)
public int saveTask(Task entity) {
int mark = 0;
try {
//一系列操作
}catch(DataAccessException e) {
mark = 0;
System.out.println(e.getMessage());
}
return mark;
}
我想,是否还应该为@Transactional添加处理异常的属性?但我不知道如何设置。