Annotation Interface Commit

@Target({TYPE,METHOD}) @Retention(RUNTIME) @Documented @Inherited @Rollback(false) public @interface Commit
@Commit is a test annotation that is used to indicate that a test-managed transaction should be committed 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, @Commit defines the default commit semantics for all test methods within the test class hierarchy or nested class hierarchy. When declared as a method-level annotation, @Commit defines commit semantics for the specific test method, potentially overriding class-level default commit or rollback semantics.

Warning: @Commit can be used as direct replacement for @Rollback(false); however, it should not be declared alongside @Rollback. Declaring @Commit and @Rollback on the same test method or on the same test class is unsupported and may lead to unpredictable results.

As of Spring Framework 5.3, this annotation will be inherited from an enclosing test class by default. See @NestedTestConfiguration for details.

Sam Brannen
See Also: