Встречается на собеседованиях • сегодня

Какой уровень изоляции поможет избежать одновременную перезапись результата другого изменения

В Java (JDBC) для предотвращения "грязного" чтения и перезаписи изменений используйте уровень TRANSACTION_REPEATABLE_READ или TRANSACTION_SERIALIZABLE.

TRANSACTION_REPEATABLE_READ:

  • Гарантирует, что данные, прочитанные в транзакции, не изменятся другими транзакциями до её завершения.
  • Но возможна проблема "фантомного чтения".

TRANSACTION_SERIALIZABLE:

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

Пример:

java
connection.setTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ);
// или
connection.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);

Выбор зависит от требований к согласованности и производительности.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы