Проверяет знание настройки транзакций в 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() {
// Логика перевода...
}Параметры:
Propagation:
REQUIRED (по умолчанию): Использует текущую транзакцию или создаёт новую.
REQUIRES_NEW: Всегда новая транзакция.
Isolation:
READ_UNCOMMITTED: Грязное чтение.
READ_COMMITTED (по умолчанию): Только committed-данные.