Package org.hibernate

Interface Transaction

  • All Superinterfaces:
    All Known Subinterfaces:
    All Known Implementing Classes:

    public interface Transaction
    extends EntityTransaction
    Represents a resource-local transaction, where resource-local is interpreted by Hibernate to mean any transaction under the control of Hibernate. That is to say, the underlying transaction might be a JTA transaction, or it might be a JDBC transaction, depending on how Hibernate is configured.

    Every resource-local transaction is associated with a Session and begins with an explicit call to SharedSessionContract.beginTransaction(), or, equivalently, with session.getTransaction().begin(), and ends with a call to EntityTransaction.commit() or EntityTransaction.rollback().

    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 concept of a database transaction. However, there is at most one uncommitted transaction associated with a given Session at any time.

    Note that this interface is never used to control container managed JTA transactions, and is not usually used to control transactions that affect multiple resources.

    A Transaction object is not threadsafe.

    See Also:
    • Method Detail

      • setTimeout

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

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

        default void markRollbackOnly()
        Attempt to mark the underlying transaction for rollback only.