Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Spring: transactional, propagation, isolation

Какие параметры есть у аннотации @Transactional и за что они отвечают?

Проверяет знание настройки транзакций в Spring.

Короткий ответ

Основные параметры:

  • propagation: Поведение при вложенных транзакциях (например, REQUIRED).

  • isolation: Уровень изоляции (например, READ_COMMITTED).

  • timeout: Максимальное время выполнения (секунды).

  • readOnly: Оптимизация для чтения (true/false).

  • rollbackFor: Классы исключений, откатывающих транзакцию.

Длинный ответ

Пример:

@Transactional(
    propagation = Propagation.REQUIRED,
    isolation = Isolation.READ_COMMITTED,
    timeout = 30,
    readOnly = false,
    rollbackFor = {SQLException.class}
)
public void transferMoney() {
    // Логика перевода...
}

Параметры:

  1. Propagation:

    • REQUIRED (по умолчанию): Использует текущую транзакцию или создаёт новую.

    • REQUIRES_NEW: Всегда новая транзакция.

  2. Isolation:

    • READ_UNCOMMITTED: Грязное чтение.

    • READ_COMMITTED (по умолчанию): Только committed-данные.

Уровень

  • Рейтинг:

    1

  • Сложность:

    5

Навыки

  • Spring

    Spring

Ключевые слова

#transactional

#propagation

#isolation

Подпишись на Java Developer в телеграм