Получить доступ

Транзакции в Spring

Основа с Junior

@Transactional, распространение, изоляция, откат и типичные ловушки.

Что важно знать

  • Транзакция работает через прокси — только для внешних вызовов публичных методов.
  • По умолчанию откат только при unchecked-исключениях.
  • readOnly = true — подсказка для оптимизаций.
  • Внешний HTTP-вызов внутри транзакции держит соединение и блокировки.

Критерии освоения

Junior ≈ 4 ч

  • Использует @Transactional на сервисном слое для связанных изменений

Практика. Сделать оформление заказа с резервом товара в одной транзакции и тестом отката.

Middle ≈ 6 ч

  • Объясняет propagation REQUIRED и REQUIRES_NEW и откат при checked-исключениях
  • Находит причины, по которым транзакция не работает — самовызов, private, не тот менеджер
  • Не держит транзакцию во время внешних вызовов

Практика. Записать журнал аудита в отдельной транзакции REQUIRES_NEW так, чтобы он сохранялся при откате основной.

Вопросы с собеседований

Разборы темы

← Вся карта «Spring»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем