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

Для чего нужна аннотация Transactional в Spring

Аннотация @Transactional в Spring управляет транзакциями на уровне методов или классов. Она автоматически открывает и закрывает транзакцию, обеспечивая атомарность операций. Если метод выполняется успешно — транзакция коммитится, при исключении — откатывается (rollback).

Ключевые параметры:

  • propagation — поведение транзакции (например, REQUIRED, REQUIRES_NEW).
  • isolation — уровень изоляции (например, READ_COMMITTED).
  • rollbackFor / noRollbackFor — указание исключений для отката.

Пример:

java
@Service
public class UserService {
    @Transactional
    public void transferMoney(Account from, Account to, double amount) {
        from.withdraw(amount);
        to.deposit(amount);
    }
}

Если deposit() или withdraw() выбросят исключение — изменения в БД откатятся.

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

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

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

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