Package org.hibernate

Interface Transaction

  • All Superinterfaces:
    EntityTransaction
    All Known Subinterfaces:
    TransactionImplementor

    public interface Transaction
    extends EntityTransaction
    Defines the contract for abstracting applications from the configured underlying means of transaction management. Allows the application to define units of work, while maintaining abstraction from the underlying transaction implementation (eg. JTA, JDBC).

    A transaction is associated with a Session and is usually initiated by a call to SharedSessionContract.beginTransaction(). A single session might span multiple transactions since the notion of a session (a conversation between the application and the datastore) is of coarser granularity than the notion of a transaction. However, it is intended that there be at most one uncommitted transaction associated with a particular Session at any time.

    Implementers are not intended to be thread-safe.

    • Method Detail

      • getStatus

        TransactionStatus getStatus()
        Get the current local status of this transaction.

        This only accounts for the local view of the transaction status. In other words it does not check the status of the actual underlying transaction.

        Returns:
        The current local status.
      • registerSynchronization

        void registerSynchronization​(Synchronization synchronization)
                              throws HibernateException
        Register a user synchronization callback for this transaction.
        Parameters:
        synchronization - The Synchronization callback to register.
        Throws:
        HibernateException - Indicates a problem registering the synchronization.
      • setTimeout

        void setTimeout​(int seconds)
        Set the transaction timeout for any transaction started by a subsequent call to EntityTransaction.begin() on this instance.
        Parameters:
        seconds - The number of seconds before a timeout.
      • getTimeout

        int getTimeout()
        Retrieve the transaction timeout set for this transaction. A negative indicates no timeout has been set.
        Returns:
        The timeout, in seconds.
      • markRollbackOnly

        default void markRollbackOnly()
        Make a best effort to mark the underlying transaction for rollback only.