@
jin7 #12
"In its default configuration, the Spring Framework's transaction infrastructure code only marks a transaction for rollback in the case of runtime, unchecked exceptions; that is, when the thrown exception is an instance or subclass of RuntimeException. (Errors will also - by default - result in a rollback). Checked exceptions that are thrown from a transactional method do not result in rollback in the default configuration."
-
https://docs.spring.io/spring-framework/docs/3.2.6.RELEASE/spring-framework-reference/html/transaction.html#transaction-declarative-rolling-back1. default rollback for unchecked exceptions
2. Errors will also - by default - result in a rollback
So recommend specifying rollback for Excpetion class.