org.springframework.test.annotation

Annotation Type Rollback



  • @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.

    Since:
    2.5
    Author:
    Sam Brannen
    See Also:
    Commit, TransactionalTestExecutionListener
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element and Description
      boolean value
      Whether the test-managed transaction should be rolled back after the test method has completed.
    • Element Detail

      • value

        public abstract boolean value
        Whether the test-managed transaction should be rolled back after the test method has completed.

        If true, the transaction will be rolled back; otherwise, the transaction will be committed.

        Defaults to true.

        Default:
        true