Встречается на собеседованиях • сегодня
Приведи пример изоляции 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 возможны фантомные чтения (новые строки, добавленные другими транзакциями, будут видны).
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы