Re: Управление транзакциями с помощью аннотаций
От: Blazkowicz Россия  
Дата: 17.02.12 10:20
Оценка:
Здравствуйте, Аноним, Вы писали:
public void doOuter() {
                  doInInnerTransaction(); 
}

@Transactional
public void doInInnerTransaction() {
    // do some actions with db
}

Проблема в том как работают эти аннотации. Spring создаёт прокси. И при вызове метода, обработчик прокси проверяет а не надо ли чего сделать с транзакцией.
В случае вызова метода того же класса. Как у вас. Вызов идёт мимо прокси. Поэтому всё что вы пишете в @Transactional для doInInnerTransaction — игнорируется.
Достаточно геморная задача.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.