我的问题比URL中提到的问题更苗条: Spring nested transaction rollback after handling exception
唯一的区别是,我的嵌套方法不是跨国的,而我的实际方法是Exception.class的回滚启用。对于我来说,如果内部方法引发某些异常,尽管我正在处理它,但spring事务将被设置为“仅回滚”。
@Service
public class AService {
@Autowired
BService b;
@Autowired
ARepository aRepo;
@Transactional
public void methodOne(){
try{
b.methodTwo();
}catch(RuntimeException e){}
aRepo.save(new A());
}
}
@Service
public class BService{
public void methodTwo(){
if(true)
throw new RuntimeException();
}
}
我的理解是,该交易不应该在我处理时回滚。
我的理解有问题吗?