Аннотация @Transactional в Spring влияет на обработку исключений следующим образом: 2
По умолчанию Spring откатывает транзакцию только для непроверенных исключений (RuntimeException и их подклассов). 35 Для проверенных исключений и их подклассов транзакция фиксируется. 3
Этим поведением можно управлять через атрибуты rollbackFor и noRollbackFor у аннотации @Transactional. 2