Назад к вопросам
АЙ-ТЕКО
РЖД
Северсталь-Ифоком
Junior — Middle
58
Какова роль аннотации @Transactional в фреймворке Spring и в каких сценариях она применяется?
Компании, где спрашивали
ООО Антара
Surf
Firecode
ФСК
ООО Динамика
eRaga Infosystem
айтеко
Ответ от нейросети
sobes.tech AI
Аннотация @Transactional в Spring используется для управления транзакциями на уровне методов или классов. Она гарантирует, что все операции внутри метода выполняются в рамках одной транзакции, которая либо полностью завершается успешно (commit), либо откатывается при ошибке (rollback).
Сценарии применения:
- Операции с базой данных, где важно сохранить целостность данных.
- Методы сервисного слоя, которые объединяют несколько действий, требующих атомарности.
Пример:
@Service
public class UserService {
@Transactional
public void createUser(User user) {
userRepository.save(user);
// другие операции, которые должны быть атомарными
}
}
Если в методе произойдет исключение, все изменения в базе данных будут отменены.