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

Приведи пример изоляции repeatable read

Repeatable Read — это уровень изоляции транзакций, гарантирующий, что данные, прочитанные в рамках одной транзакции, остаются неизменными до её завершения, даже если другие транзакции пытаются их изменить.

Пример:

java
// Установка уровня изоляции в JDBC
connection.setTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ);

// Транзакция 1
connection.setAutoCommit(false);
try {
// Первое чтение
ResultSet rs1 = connection.createStatement().executeQuery("SELECT balance FROM accounts WHERE id = 1");
rs1.next();
int balance1 = rs1.getInt("balance"); // Допустим, balance = 100

text
// Другая транзакция изменяет баланс (но не видна здесь)
// В REPEATABLE READ это изменение не повлияет на повторное чтение

// Второе чтение (тот же результат)
ResultSet rs2 = connection.createStatement().executeQuery("SELECT balance FROM accounts WHERE id = 1");
rs2.next();
int balance2 = rs2.getInt("balance"); // balance2 также = 100

connection.commit();

} catch (SQLException e) {
connection.rollback();
}

text
**Примечание:** В REPEATABLE READ возможны фантомные чтения (новые строки, добавленные другими транзакциями, будут видны).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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