Теория
Как вызвать @Transactional-метод изнутри того же bean так, чтобы транзакция сработала?
Аннотация @Transactional в Spring используется для управления транзакциями на уровне методов или классов.
Читать ответ