На родительскую транзакцию влияют, а дочерняя транзакция помечается как откат - PullRequest
0 голосов
/ 28 ноября 2018

В моем приложении я пытаюсь получить исключение времени выполнения в блоке перехвата при попытке совершить эту транзакцию

Но я получаю 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)?

Если вы можете предоставить решение, которое будет полезно

...