intermediateTransactions with @Transactional

Does @Transactional roll back on every exception by default?

No — by default it only rolls back on unchecked exceptions (RuntimeException and subclasses). A checked exception does NOT trigger a rollback unless you explicitly configure `@Transactional(rollbackFor = Exception.class)`, which is a common source of silent partial-write bugs.

This is a Pro chapter

Sign in, then upgrade to Pro or Power to unlock this and the full Spring Ecosystem Mastery library.

Does @Transactional roll back on every exception by default?

Next Step

Continue to Why does @Scheduled run on a single shared thread by default, and why does that matter?← Back to all Spring Boot questions