SPRING CONCEPTS

Transaction propagation

Spring Concepts / Transaction propagation

Propagation determines how a transactional call relates to an existing transaction.

Understand the idea

REQUIRED joins an existing transaction or starts one when absent. REQUIRES_NEW suspends the outer transaction resources and starts an independent transaction. An audit attempt can commit independently while the outer operation rolls back. Calls must cross an advised bean boundary for the inner annotation to apply.

A concrete example

@Transactional(propagation = Propagation.REQUIRES_NEW)

In the application

See the independently runnable examples in Stage 36, Stage 37.

An independent commit is a deliberate consistency choice, not a default for every service call.

See it in a working stage

Related concepts

Read the official documentation ↗
Java 21 · Spring Boot 4.1.1 · Edupoly