Я полагаю, что в качестве вызова Java используется следующая трассировка стека:
B.method2 (annotated with a plain @Transactional)
A.method1 (annotated with a plain @Transactional)
Main.main (starting point of the call, with no current transaction)
Я ожидаю, что транзакция запускается при вводе A.method1 - и транзакция будет зафиксирована (или откатана), когда A.method1осталось.Я также ожидаю, что та же транзакция будет использоваться в B.method2.
Выдается исключение RuntimeException из B.method2.Это исключение, которое «включено» в список для отката по умолчанию.Исключение перехватывается в A.method1, но оно выходит за границы @Transactional при выходе из B.method2.
Это мой вопрос: будет ли (текущая) транзакция отмечена для отката или нет?