Уровень изоляции по умолчанию в инфраструктуре spring
У меня есть метод на уровне сервиса, который выполняет функцию обновления базы данных.
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void update(final Object obj){
//
}
теперь я хочу знать, какой уровень изоляции для этого метода установлен spring framework?
Я новичок в spring, просто хотел сделать себя комфортно с транзакциями.
Пожалуйста, поделитесь некоторыми лучшими практиками? и способы установить уровень изоляции - чтобы избежать тупиковой ситуации и, таким образом, предотвратить попытки одного пользователя обновить свою запись из разных браузеров.
Ответы
Ответ 1
В соответствии с docs (Isolation.DEFAULT
) он использует
Используйте уровень изоляции по умолчанию для базового хранилища данных.
Когда вы используете аннотацию @Transactional
, я бы установил там уровень изоляции, например:
@Transactional(propagation=Propagation.REQUIRES_NEW, isolation=Isolation.SERIALIZABLE)