@Target(value={TYPE,METHOD}) @Retention(value=RUNTIME) @Documented @Inherited public @interface Rollback
@Rollback
is a test annotation that is used to indicate whether
a test-managed transaction should be rolled back after
the test method has completed.
Consult the class-level Javadoc for
TransactionalTestExecutionListener
for an explanation of test-managed transactions.
When declared as a class-level annotation, @Rollback
defines
the default rollback semantics for all test methods within the test class
hierarchy. When declared as a method-level annotation, @Rollback
defines rollback semantics for the specific test method, potentially
overriding class-level default commit or rollback semantics.
As of Spring Framework 4.2, @Commit
can be used as direct
replacement for @Rollback(false)
.
Warning: Declaring @Commit
and @Rollback
on the same test method or on the same test class is unsupported and may
lead to unpredictable results.
This annotation may be used as a meta-annotation to create
custom composed annotations. Consult the source code for
@Commit
for a concrete example.
As of Spring Framework 5.3, this annotation will be inherited from an
enclosing test class by default. See
@NestedTestConfiguration
for details.
Commit
,
TransactionalTestExecutionListener
Modifier and Type | Optional Element and Description |
---|---|
boolean |
value
Whether the test-managed transaction should be rolled back
after the test method has completed.
|