Sobes.tech
Назад к вопросам
Senior
3

Как работает аннотация @Transactional в Spring?

Компании, где спрашивали
EXPERA

Ответ от нейросети

sobes.tech AI

Аннотация @Transactional в Spring используется для управления транзакциями базы данных. Когда метод помечен этой аннотацией, Spring автоматически начинает транзакцию перед выполнением метода и завершает её после.

Если метод выполняется успешно, транзакция коммитится — все изменения сохраняются в базе. Если во время выполнения возникает исключение (обычно RuntimeException), транзакция откатывается — все изменения отменяются.

Это позволяет гарантировать целостность данных без необходимости вручную писать код для начала, коммита и отката транзакций.

Пример:

@Transactional
public void saveUser(User user) {
    userRepository.save(user);
    // если здесь выбросится исключение, изменения не сохранятся
}