Я использую Spring-Data-Jpa и использую аннотацию @Lock (PESSIMISTIC_WRITE) для блокировки базы данных (Oracle). Мне нужна помощь в понимании того, может ли следующий сценарий привести к блокировке базы данных.Spring Database Lock: нужна помощь в понимании состояния тупика базы данных
- Транзакция 1 (PROPAGATION_REQUIRES_NEW, ISOLATION_DEFAULT) один берет блокировку базы данных через сказать Преподаватель таблицы (говорят, блокировка берется по строке с идентификатором = 1). Он пытается вставить новую запись в дочернюю таблицу say Meeting. В таблице «Учитель» обновление не производится
- Пока выполняется транзакция 1. Транзакция 2 (PROPAGATION_REQUIRED, ISOLATION_DEFAULT) пытается обновить таблицу Учителя (строка с id = 1). Он не использует блокировку базы данных.
- Поскольку блокировка берется по строке с идентификатором 1. Транзакция 2 должна дождаться завершения транзакции 1.
Может ли это состояние привести к блокировке базы данных?
какой сделка распродажа вы используете? –
Сделка 1 (PROPAGATION_REQUIRES_NEW, ISOLATION_DEFAULT). Транзакция 2 (PROPAGATION_REQUIRED, ISOLATION_DEFAULT) – Suchit
С оракулом по умолчанию изоляция READ COMMITTED. –