У меня есть ниже иерархия вызова методаПочему Spring здесь совершает транзакцию?
public class UpdateProcess {
public void startingMethod(List<Object> objects){
for (Object obj : objects) {
method1(obj);
}
}
@Transactional
public void method1(Object obj) {
method2(obj);
}
public void method2(Object obj) {
EmployeeService.updateObject(obj)
}
}
public class EmployeeService
@Transactional
public void updateObject(Object obj) {
return customerDao.update(obj);
}
}
В приведенном выше сценариях, мое ожидание пружина должна совершить сделку как нить выходит из method1 или отката, если исключение происходит в любом месте в иерархии.
Но весна совершает транзакцию, как только обновление выполняется в методе2. Почему я не понимаю?
UPDATE: - Даже если я изменю @Transactional
к @Transactional(propagation=Propagation.REQUIRES_NEW)
его еще совершения сделки. So No impact
Пожалуйста, внесите правильный код, если вы хотите получить ответы. – Kayaman
@ Kayaman Я разместил соответствующий код. Есть ли какой-то конкретный материал, который вы ищете здесь? – emilly
Этот код даже не компилируется, так что это явно не настоящий код, и было бы бесполезно комментировать его. – Kayaman