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

Как управлять возвратом транзакции

В Java управление откатом транзакций осуществляется через Connection API. Основные методы:

java
try (Connection conn = dataSource.getConnection()) {
    conn.setAutoCommit(false); // Отключаем авто-коммит
    
    // Выполняем операции
    preparedStatement.executeUpdate();
    
    conn.commit(); // Фиксируем изменения
} catch (SQLException e) {
    if (conn != null) {
        conn.rollback(); // Откатываем при ошибке
    }
    throw e;
}

Ключевые моменты:

  1. setAutoCommit(false) - обязателен для ручного управления
  2. commit() - подтверждает изменения
  3. rollback() - отменяет все операции с момента последнего коммита
  4. Всегда выполняйте rollback в catch-блоке

В Spring можно использовать аннотацию @Transactional, которая автоматически обрабатывает откат при исключениях.

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

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

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

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