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

На чем основывается @Transactional

Основан на механизме AOP (Aspect-Oriented Programming). При вызове метода с аннотацией @Transactional Spring создает прокси вокруг объекта, управляя транзакцией через TransactionManager.

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

  • Propagation – определяет поведение при вложенных транзакциях (например, REQUIRED, REQUIRES_NEW).
  • Isolation – уровень изоляции (READ_COMMITTED, SERIALIZABLE и др.).
  • Rollback rules – какие исключения вызывают откат (по умолчанию – только RuntimeException и Error).
  • Timeout – максимальное время выполнения.
  • Read-only – оптимизация для операций чтения.

Пример:

java
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED)
public void transferMoney(Account from, Account to, BigDecimal amount) {
    // Бизнес-логика
}

Важно: @Transactional работает только на public-методах и при вызове извне класса (из-за проксирования).

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

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

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

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