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

Какие знаешь уровни изоляции транзакций в JDBC

В JDBC поддерживаются 4 уровня изоляции транзакций, определенные в SQL стандарте:

  1. TRANSACTION_READ_UNCOMMITTED - самый низкий уровень. Позволяет читать "грязные" данные (незафиксированные изменения других транзакций). Может приводить к проблемам dirty read, non-repeatable read и phantom read.
  1. TRANSACTION_READ_COMMITTED - запрещает чтение незафиксированных данных, но допускает non-repeatable read и phantom read. Это уровень по умолчанию в большинстве СУБД.

  2. TRANSACTION_REPEATABLE_READ - гарантирует, что данные, прочитанные в рамках транзакции, не изменятся (запрещает dirty read и non-repeatable read), но phantom read возможен.

  3. TRANSACTION_SERIALIZABLE - самый строгий уровень. Гарантирует полную изоляцию, как если бы транзакции выполнялись последовательно.

Пример установки уровня:

java
Connection conn = dataSource.getConnection();
conn.setTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ);
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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