Back to questions
Senior
6
Как работает аннотация @Transactional в Spring?
Companies where asked
EXPERA
Answer from AI
sobes.tech AI
Аннотация @Transactional в Spring используется для управления транзакциями базы данных. Когда метод помечен этой аннотацией, Spring автоматически начинает транзакцию перед выполнением метода и завершает её после.
Если метод выполняется успешно, транзакция коммитится — все изменения сохраняются в базе. Если во время выполнения возникает исключение (обычно RuntimeException), транзакция откатывается — все изменения отменяются.
Это позволяет гарантировать целостность данных без необходимости вручную писать код для начала, коммита и отката транзакций.
Пример:
@Transactional
public void saveUser(User user) {
userRepository.save(user);
// если здесь выбросится исключение, изменения не сохранятся
}