Вызов метода @Transactional в методе @Transactional (оба с распространением по умолчанию) - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть следующий параметр (это аналогия), и изменения в репозитории для метода B не отменяются.Распространение должно быть по умолчанию = ТРЕБУЕТСЯ, так что может быть объяснением?

Parent.java

@Transactional
public void methodA(){
   child.methodB();
   anotherMethodThatThrowsARuntimeException();
}

Child.java

@Transactional
public void methodB(){
   repository.save(entity)
}

Прежде всего, правильно ли мое понимание того, что я должен ожидать, что все откатано?

Даже если вся эта ситуация происходит, когда этот код обернут в @Transactional(isolation = Isolation.READ_UNCOMMITTED) тест?

РЕДАКТИРОВАТЬ: Просто ради разрешения: проблема заключалась в том, что откат .SQL действительно был в концевнешней транзакции, но управляемый контекст не был очищен, поэтому откат от внутренней транзакции не был виден

1 Ответ

0 голосов
/ 21 ноября 2018

Некоторые движки баз данных не поддерживают транзакции.Сначала проверьте вашу базу данных двигателя.MyISAM движок MySQL является примером для этого случая.

...