Sobes.tech
Назад к вопросам
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);
        // другие операции, которые должны быть атомарными
    }
}

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