Spring / Spring7 basics Interview questions
What are the types of transaction propagation in Spring?
Propagation defines how a @Transactional method behaves when it's called while a transaction is already in progress.
| Propagation | Behavior |
REQUIRED (default) | Joins the existing transaction, or starts a new one if none exists |
REQUIRES_NEW | Always suspends any existing transaction and starts a fresh one |
NESTED | Starts a savepoint within the existing transaction |
SUPPORTS | Joins a transaction if one exists; otherwise runs non-transactionally |
MANDATORY | Requires an existing transaction; throws an exception if none exists |
REQUIRES_NEW is useful when you need an inner operation, like audit logging, to commit independently of whether the outer transaction eventually rolls back.
More Related questions...