Уровень изоляции по умолчанию в Spring Framework - PullRequest
18 голосов
/ 07 марта 2012

У меня есть метод в сервисном слое , который выполняет функцию обновления базы данных.

@Transactional(propagation = Propagation.REQUIRES_NEW)
public void update(final Object obj){
    // some code here
}

Теперь я хочу узнать, какой уровень изоляции для этого метода установлен Spring Framework?

Я новичок в Spring, просто хотел освоиться с сделки .

Пожалуйста, поделитесь некоторыми рекомендациями и способами установки уровня изоляции , чтобы избежать взаимных блокировок и, таким образом, предотвратить попытки того же пользователя обновить свою запись из разных браузеров.

1 Ответ

12 голосов
/ 07 марта 2012

Согласно документам (Isolation.DEFAULT) он использует

Использовать уровень изоляции по умолчанию для базового хранилища данных.

Поскольку вы используете аннотацию @Transactional, я бы установил там уровень изоляции, например:

@Transactional(propagation=Propagation.REQUIRES_NEW, isolation=Isolation.SERIALIZABLE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...