Обновление объекта в новой транзакционной области
У меня есть проблема, связанная с транзакционными границами, и я не могу понять, что происходит не так.
@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();
}
}
Проблема в том, что мой объект не обновляется при возникновении ошибки. Я также пытался запустить SQL-код из методаupdateSomeProperty
но это тоже не сработало.
По существу, я хочу обновить свойство объекта, независимо от того, было ли выброшено исключение.
Есть идеи ??