Вопросы к Поиску с Алисой
Ошибка «Transaction silently rolled back» в Spring Data возникает из-за того, что текущая транзакция помечается как предназначенная только для отката (rollback-only). dev.to wynnt3o.hashnode.dev
Это происходит, когда из-за границ transactional proxy выбрасывается исключение RuntimeException. habr.com В таком случае прокси устанавливает флаг rollback, и дальнейшие операции уже не имеют значения, так как в конечном итоге транзакция не закоммитится. habr.com
По умолчанию Spring откатывает транзакции только в случае непроверяемого исключения. habr.com Проверяемые же считаются «восстанавливаемыми», из-за чего Spring вместо rollback делает commit. habr.com
Чтобы решить проблему, можно, например, добавить атрибут noRollbackFor у аннотации. dev.to habr.com