В моем приложении я пытаюсь получить исключение времени выполнения в блоке перехвата при попытке совершить эту транзакцию
Но я получаю RollbackException: Transaction marked as rollbackOnly
.
Согласно моим знаниям,всякий раз, когда генерируется исключение во время выполнения, эта конкретная транзакция будет помечена как откат.
Но в моем коде я перехватываю исключение в новой транзакции, тогда как это влияет на родительскую транзакцию?
Код:
@Transactional(propagation = Propagation.REQUIRED)
Class A{
void method1() {
b.method2();
}
}
class B {
void method2() {
c.method3();
}
}
class C {
void method4() {
method5();
}
@Transactional(propagation = Propagation.REQUIRES_NEW)
method5() {
save(); \\ saving data in this line
try {
flush();
} catch(Exception e ) {
}
}
}
В этом коде выдается исключение в method5 (), и этот метод находится в новой транзакции.Тогда как это повлияет на родительскую транзакцию (в классе A)?
Если вы можете предоставить решение, которое будет полезно