[hibernate-dev] Transaction

Steve Ebersole steve at hibernate.org
Wed Mar 25 16:15:52 EDT 2015


We also identified needs for Status#ROLLING_BACK and Status#COMMITTING, so
consider those in the enum as well.

On Wed, Mar 25, 2015 at 12:19 PM, Steve Ebersole <steve at hibernate.org>
wrote:

> I thought I had asked this before, but maybe not.  Andrea and I are
> working through the transaction/jdbc changes and I really would like to
> clean up the org.hibernate.Transaction API.  But before I start cutting I
> wanted to make sure noone is using the methods I plan on getting rid of...
>
> Here is the new proposed contract:
>
> public interface Transsaction {
>     public void begin();
>     public void commit();
>     public void rollback();
>     public void markRollbackOnly();
>
>     public Status getStatus();
>
>     public int getTimeout();
>     public void setTimeout(int seconds);
>
>     public void registerSynchronization(Synchronization synchronization);
> }
>
> public enum Status {
>   NOT_ACTIVE,
>   ACTIVE,
>   COMMITTED,
>   ROLLED_BACK,
>     FAILED_COMMIT
> }
>
> Notes:
> 1) isInitiator() has been removed with no real replacement.  I could not
> really see when that would be useful.
> 2) isParticipating() has been removed with no real replacement.
> 2) isActive(), wasCommitted() and wasRolledBack has all been removed with
> call to getStatus() as replacement
> 3) getLocalStatus() is gone.  Who cares :)  If users are asking us this,
> we really should be checking the REAL state of the transaction
> 4) Transaction is now a single impl.  The distinctions are all handled
> internally.  TransactionImplementor is gone too.
>
> Thoughts?  Concerns?
>


More information about the hibernate-dev mailing list