Встречается на собеседованиях • сегодня
Как работает метод с аннотацией Transactional
Метод с аннотацией @Transactional выполняется в рамках транзакции, управляемой Spring. Если метод завершается успешно, транзакция коммитится, при исключении — откатывается.
Ключевые моменты:
- Работает через AOP (прокси-объекты).
- По умолчанию:
propagation = REQUIRED(использует текущую транзакцию или создаёт новую). rollbackForопределяет, какие исключения вызывают откат.
Пример:
java
@Transactional
public void transferMoney(Account from, Account to, BigDecimal amount) {
from.debit(amount);
to.credit(amount);
// При RuntimeException транзакция откатится
}Нюансы:
- При вызове из одного
@Transactional-метода другой в том же классе — аннотация не сработает (проблема self-invocation). - Для чтения можно использовать
@Transactional(readOnly = true).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы