Аннотация @Transactional
в Spring Data указывает, что метод или класс должен выполняться в рамках транзакции. Spring AOP (Aspect-Oriented Programming) создает вокруг такого метода прокси-объект, который управляет жизненным циклом транзакции.
Основные действия, выполняемые @Transactional
:
RuntimeException
), транзакция фиксируется (commit).RuntimeException
), транзакция откатывается (rollback).Основные атрибуты аннотации:
propagation
: Определяет, как транзакции взаимодействуют друг с другом (например, REQUIRED
, REQUIRES_NEW
, SUPPORTS
). По умолчанию REQUIRED
.isolation
: Определяет уровень изоляции транзакции для предотвращения проблем параллельного доступа к данным (например, READ_COMMITTED
, REPEATABLE_READ
). По умолчанию используется уровень изоляции базы данных.readOnly
: Указывает, что транзакция должна выполняться в режиме только для чтения. Оптимизирует производительность для чтений.timeout
: Задает максимальное время выполнения транзакции до автоматического отката.rollbackFor
: Указывает список типов искАннотация @Transactional
в Spring Data указывает, что метод или класс должен выполняться в рамках транзакции. Spring AOP (Aspect-Oriented Programming) создает вокруг такого метода прокси-объект, который управляет жизненным циклом транзакции.
Основные действия, выполняемые @Transactional
:
RuntimeException
), транзакция фиксируется (commit).RuntimeException
), транзакция откатывается (rollback).Основные атрибуты аннотации:
propagation
: Определяет, как транзакции взаимодействуют друг с другом (например, REQUIRED
, REQUIRES_NEW
, SUPPORTS
). По умолчанию REQUIRED
.isolation
: Определяет уровень изоляции транзакции для предотвращения проблем параллельного доступа к данным (например, READ_COMMITTED
, REPEATABLE_READ
). По умолчанию используется уровень изоляции базы данных.readOnly
: Указывает, что транзакция должна выполняться в режиме только для чтения. Оптимизирует производительность для чтений.timeout
: Задает максимальное время выполнения транзакции до автоматического отката.rollbackFor
: Указывает список типов искRegister or sign in to get access to full answers for all questions from the question bank.