Zaktualizuj obiekt w nowym zakresie transakcyjnym
Mam problem związany z granicami transakcyjnymi i nie jestem w stanie zrozumieć, co jest nie tak.
@Transactional( propagation = Propagation.REQUIRED )
Class A {
void methodA() {
try {
new B().callMethodB(obj)
} catch(Exception e) {
updateSomeProperty(obj1)
}
}
@Transactional(propagation = Propagation.REQUIRES_NEW)
void updateSomeProperty(Object obj1) {
obj1.setProperty(1);
obj1.save();
}
}
Class B {
public void callMethodB(Object obj) throws Exception {
throws new Exception();
}
}
Problem polega na tym, że mój obiekt nie jest aktualizowany po zgłoszeniu błędu. Próbowałem także wypalić kod SQL z tej metodyupdateSomeProperty
ale to też nie zadziałało.
Zasadniczo chcę zaktualizować właściwość obiektu, niezależnie od tego, czy mimo wyjątku zostanie zgłoszony.
Jakieś pomysły ??