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

Что гарантирует аннотация Transactional

Аннотация @Transactional гарантирует атомарность операций в рамках метода. Основные гарантии:

  1. ACID-свойства:
    • Atomicity (атомарность) – все операции выполняются или ни одна
    • Consistency (согласованность) – данные остаются валидными
    • Isolation (изоляция) – контроль параллельного доступа
    • Durability (долговечность) – изменения сохраняются после commit
  1. Управление транзакциями:
    • Автоматическое начало/завершение транзакции
    • Откат при необработанных исключениях (RuntimeException)
    • Commit при успешном выполнении

Пример:

java
@Transactional
public void transferMoney(Account from, Account to, BigDecimal amount) {
    from.debit(amount);
    to.credit(amount);
    // Если credit() выбросит исключение, debit() откатится
}

По умолчанию используется Propagation.REQUIRED и Isolation.DEFAULT. Поведение можно настроить через параметры аннотации.

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

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

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

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