Встречается на собеседованиях • сегодня
Какие аномалии изоляций транзакций не могут случаться
В Java при использовании уровня изоляции SERIALIZABLE (наиболее строгого) предотвращаются все основные аномалии:
- Dirty Read - чтение незафиксированных изменений
- Non-repeatable Read - разные значения при повторном чтении
- Phantom Read - появление новых строк между чтениями
Пример с JDBC:
java
Connection conn = dataSource.getConnection();
conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE); // защита от всех аномалийОднако даже SERIALIZABLE не защищает от:
- Lost Update (потерянные обновления) - требуются явные блокировки
- Write Skew (перекос записи) - нужны дополнительные ограничения
Для полной защиты часто используют:
java
entityManager.lock(entity, LockModeType.PESSIMISTIC_WRITE);
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы