Class EntityTransactionImpl

  • All Implemented Interfaces:
    jakarta.persistence.EntityTransaction

    public class EntityTransactionImpl
    extends Object
    implements jakarta.persistence.EntityTransaction
    JDK 1.5 version of the EntityTransaction. Differs from base version only in that it takes a JDK 1.5 version of the EntityTransactionWrapper.
    See Also:
    EntityTransactionImpl
    • Field Detail

      • openQueriesMap

        protected WeakHashMap<QueryImpl,​QueryImpl> openQueriesMap
        Keep a weak reference to the open queries that are executed in this entity manager.
      • active

        protected boolean active
      • rollbackOnly

        protected boolean rollbackOnly
      • finalizer

        protected org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.TransactionFinalizer finalizer
      • isFinalizedRequired

        public static boolean isFinalizedRequired
        PERF: Avoid finalization if not required by the application, and finalizers have major concurrency affects.
    • Method Detail

      • addOpenQuery

        public void addOpenQuery​(QueryImpl query)
        Queries that leave the connection and are executed against this entity manager will be added here. On rollback or commit any left over open queries should be closed.
        Parameters:
        query -
      • begin

        public void begin()
        Start the current transaction. This can only be invoked if isActive() returns false.
        Specified by:
        begin in interface jakarta.persistence.EntityTransaction
        Throws:
        IllegalStateException - if isActive() is true.
      • closeOpenQueries

        protected void closeOpenQueries()
        Open queries within a transaction will be closed on commit or rollback if they haven't already been closed.
      • commit

        public void commit()
        Commit the current transaction, writing any un-flushed changes to the database. This can only be invoked if isActive() returns true.
        Specified by:
        commit in interface jakarta.persistence.EntityTransaction
        Throws:
        IllegalStateException - if isActive() is false.
      • rollback

        public void rollback()
        Roll back the current transaction, discarding any changes that have happened in this transaction. This can only be invoked if isActive() returns true.
        Specified by:
        rollback in interface jakarta.persistence.EntityTransaction
        Throws:
        IllegalStateException - if isActive() is false.
      • setRollbackOnly

        public void setRollbackOnly()
        Mark the current transaction so that the only possible outcome of the transaction is for the transaction to be rolled back.
        Specified by:
        setRollbackOnly in interface jakarta.persistence.EntityTransaction
        Throws:
        IllegalStateException - if isActive() is false.
      • getOpenQueriesMap

        protected Map<QueryImpl,​QueryImpl> getOpenQueriesMap()
        Return the weak reference to the open queries.
      • getRollbackOnly

        public boolean getRollbackOnly()
        Determine whether the current transaction has been marked for rollback.
        Specified by:
        getRollbackOnly in interface jakarta.persistence.EntityTransaction
        Throws:
        IllegalStateException - if isActive() is false.
      • isActive

        public boolean isActive()
        Check to see if the current transaction is in progress.
        Specified by:
        isActive in interface jakarta.persistence.EntityTransaction