Моя проблема меньше, чем вопрос, упомянутый в URL: Откат вложенных транзакций Spring после обработки исключения
Единственное отличие состоит в том, что мой вложенный метод не является транснациональным, а мой метод -включить откат для Exception.class.Для меня также, если внутренний метод выдает какое-то исключение, пружинная транзакция устанавливается на «только откат», хотя я обрабатываю это.
@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();
}
}
Насколько я понимаю, транзакция не должна откатываться, поскольку я обрабатываю ее.
Что-то не так с моим пониманием?