org.springframework.transaction

Interface SavepointManager

    • Method Detail

      • createSavepoint

        java.lang.Object createSavepoint()
                                  throws TransactionException
        Create a new savepoint. You can roll back to a specific savepoint via rollbackToSavepoint, and explicitly release a savepoint that you don't need anymore via releaseSavepoint.

        Note that most transaction managers will automatically release savepoints at transaction completion.

        Returns:
        a savepoint object, to be passed into rollbackToSavepoint(java.lang.Object) or releaseSavepoint(java.lang.Object)
        Throws:
        NestedTransactionNotSupportedException - if the underlying transaction does not support savepoints
        TransactionException - if the savepoint could not be created, for example because the transaction is not in an appropriate state
        See Also:
        Connection.setSavepoint()
      • rollbackToSavepoint

        void rollbackToSavepoint(java.lang.Object savepoint)
                          throws TransactionException
        Roll back to the given savepoint.

        The savepoint will not be automatically released afterwards. You may explicitly call releaseSavepoint(Object) or rely on automatic release on transaction completion.

        Parameters:
        savepoint - the savepoint to roll back to
        Throws:
        NestedTransactionNotSupportedException - if the underlying transaction does not support savepoints
        TransactionException - if the rollback failed
        See Also:
        Connection.rollback(java.sql.Savepoint)
      • releaseSavepoint

        void releaseSavepoint(java.lang.Object savepoint)
                       throws TransactionException
        Explicitly release the given savepoint.

        Note that most transaction managers will automatically release savepoints on transaction completion.

        Implementations should fail as silently as possible if proper resource cleanup will eventually happen at transaction completion.

        Parameters:
        savepoint - the savepoint to release
        Throws:
        NestedTransactionNotSupportedException - if the underlying transaction does not support savepoints
        TransactionException - if the release failed
        See Also:
        Connection.releaseSavepoint(java.sql.Savepoint)