seniorSpring
What is the difference between @Transactional propagation types in Spring?
Updated May 17, 2026
Short answer
Propagation defines how transactions behave when a method calls another transactional method.
Deep explanation
Spring provides propagation levels like REQUIRED, REQUIRES_NEW, NESTED, SUPPORTS, NOT_SUPPORTED, MANDATORY, and NEVER. REQUIRED joins existing transaction or creates a new one. REQUIRES_NEW suspends current transaction and creates a new independent one. These control atomicity boundaries in complex service orchestration.
Unlock with a Pro subscription to view this section.
View pricingReal-world example
No real-world example available yet.
Unlock with a Pro subscription to view this section.
Upgrade to ProCommon mistakes
No common mistakes listed yet.
Unlock with a Pro subscription to view this section.
Upgrade to ProFollow-up questions
No follow-up questions available yet.
Unlock with a Pro subscription to view this section.
Upgrade to Pro