org.hibernate.Transaction.getStatus()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(7.2k)|赞(0)|评价(0)|浏览(110)

本文整理了Java中org.hibernate.Transaction.getStatus()方法的一些代码示例,展示了Transaction.getStatus()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Transaction.getStatus()方法的具体详情如下:
包路径:org.hibernate.Transaction
类名称:Transaction
方法名:getStatus

Transaction.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.
[中]获取此事务的当前本地状态。
这仅说明事务状态的本地视图。换句话说,它不会检查实际基础交易的状态。

代码示例

代码示例来源:origin: spring-projects/spring-framework

public boolean hasHibernateManagedTransaction() {
  return (this.sessionHolder != null &&
      this.sessionHolder.getSession().getTransaction().getStatus() == TransactionStatus.ACTIVE);
}

代码示例来源:origin: dropwizard/dropwizard

private void commitTransaction(UnitOfWork unitOfWork, Session session) {
  if (!unitOfWork.transactional()) {
    return;
  }
  final Transaction txn = session.getTransaction();
  if (txn != null && txn.getStatus().canRollback()) {
    txn.commit();
  }
}

代码示例来源:origin: org.springframework/spring-orm

public boolean hasHibernateManagedTransaction() {
  return (this.sessionHolder != null &&
      this.sessionHolder.getSession().getTransaction().getStatus() == TransactionStatus.ACTIVE);
}

代码示例来源:origin: dropwizard/dropwizard

@Override
  protected Result check() throws Exception {
    return timeBoundHealthCheck.check(() -> {
      try (Session session = sessionFactory.openSession()) {
        final Transaction txn = session.beginTransaction();
        try {
          session.createNativeQuery(validationQuery).list();
          txn.commit();
        } catch (Exception e) {
          if (txn.getStatus().canRollback()) {
            txn.rollback();
          }
          throw e;
        }
      }
      return Result.healthy();
    });
  }
}

代码示例来源:origin: dropwizard/dropwizard

private void rollbackTransaction(UnitOfWork unitOfWork, Session session) {
  if (!unitOfWork.transactional()) {
    return;
  }
  final Transaction txn = session.getTransaction();
  if (txn != null && txn.getStatus().canRollback()) {
    txn.rollback();
  }
}

代码示例来源:origin: hibernate/hibernate-orm

private static void terminateOrphanedSession(Session orphan) {
  if ( orphan != null ) {
    LOG.alreadySessionBound();
    try {
      final Transaction orphanTransaction = orphan.getTransaction();
      if ( orphanTransaction != null && orphanTransaction.getStatus() == TransactionStatus.ACTIVE ) {
        try {
          orphanTransaction.rollback();
        }
        catch( Throwable t ) {
          LOG.debug( "Unable to rollback transaction for orphaned session", t );
        }
      }
    }
    finally {
      try {
        orphan.close();
      }
      catch( Throwable t ) {
        LOG.debug( "Unable to close orphaned session", t );
      }
    }
  }
}

代码示例来源:origin: hibernate/hibernate-orm

@Before
public void setup() {
  session = openSession();
  Transaction transaction = session.beginTransaction();
  final SubSubEntity subSubEntity = new SubSubEntity();
  final SubEntity subEntity = new SubSubEntity();
  try {
    session.save( subEntity );
    session.save( subSubEntity );
    transaction.commit();
    subSubEntityId = subSubEntity.getId();
  }
  finally {
    if ( transaction.getStatus() == TransactionStatus.ACTIVE ) {
      transaction.rollback();
    }
  }
  session.close();
}

代码示例来源:origin: hibernate/hibernate-orm

public final Serializable doInsideTransaction(Session s, java.util.function.Supplier<Serializable> sp) {
    s.getTransaction().begin();
    try {
      final Serializable result = sp.get();

      s.getTransaction().commit();
      return result;
    }
    catch (Exception e) {
      if ( s.getTransaction().getStatus() == TransactionStatus.ACTIVE ) {
        s.getTransaction().rollback();
      }
      throw e;
    }
  }
}

代码示例来源:origin: hibernate/hibernate-orm

@Test
  public void testGetNotExisting() {
    Session s = openSession();
    s.beginTransaction();

    try {
      long notExistingId = 1l;
      s.load( Team.class, notExistingId );
      s.get( Team.class, notExistingId );
      s.getTransaction().commit();
    }
    catch (ObjectNotFoundException e) {
      if ( s.getTransaction().getStatus() == TransactionStatus.ACTIVE ) {
        s.getTransaction().rollback();
      }
      fail("#get threw an ObjectNotFoundExcepton");
    }
    finally {
      s.close();
    }
  }
}

代码示例来源:origin: hibernate/hibernate-orm

private void saveZoneDateTimeEventWithStartDate(ZonedDateTime startdate) {
  final ZonedDateTimeEvent event = new ZonedDateTimeEvent();
  event.id = 1L;
  event.startDate = startdate;
  final Session s = openSession();
  s.getTransaction().begin();
  try {
    s.save( event );
    s.getTransaction().commit();
  }
  catch (Exception e) {
    if ( s.getTransaction() != null && s.getTransaction().getStatus() == TransactionStatus.ACTIVE ) {
      s.getTransaction().rollback();
    }
    fail( e.getMessage() );
  }
  finally {
    s.close();
  }
}

代码示例来源:origin: hibernate/hibernate-orm

@Before
public void setUp() {
  final Session s = openSession();
  s.getTransaction().begin();
  try {
    s.save( new LocalDateEvent( 1L, expectedLocalDate ) );
    s.getTransaction().commit();
  }
  catch (Exception e) {
    if ( s.getTransaction() != null && s.getTransaction().getStatus() == TransactionStatus.ACTIVE ) {
      s.getTransaction().rollback();
    }
    fail( e.getMessage() );
  }
  finally {
    s.close();
  }
}

代码示例来源:origin: hibernate/hibernate-orm

@Override
protected void prepareTest() throws Exception {
  try (Session s = openSession()) {
    final MyEntity entity = new MyEntity( "entity" );
    s.getTransaction().begin();
    try {
      s.save( entity );
      s.getTransaction().commit();
    }
    catch (Exception e) {
      if ( s.getTransaction().getStatus() == TransactionStatus.ACTIVE ) {
        s.getTransaction().rollback();
      }
      throw e;
    }
  }
}

代码示例来源:origin: hibernate/hibernate-orm

@Test
public void testNationalization() {
  Session s = openSession();
  s.getTransaction().begin();
  try {
    MyEntity e = new MyEntity( 1L );
    e.setState( "UK" );
    s.save( e );
    s.getTransaction().commit();
  }
  catch (Exception e) {
    if ( s.getTransaction().getStatus() != TransactionStatus.FAILED_COMMIT ) {
      s.getTransaction().rollback();
    }
    fail( e.getMessage() );
  }
  finally {
    s.close();
  }
  s = openSession();
  try {
    MyEntity myEntity = s.get( MyEntity.class, 1L );
    assertNotNull( myEntity );
    assertThat( myEntity.getState(), is( "UK" ) );
  }
  finally {
    s.close();
  }
}

代码示例来源:origin: hibernate/hibernate-orm

protected AuditReader getAuditReader() {
  Session session = getSession();
  if(session.getTransaction().getStatus() != TransactionStatus.ACTIVE ){
    session.getTransaction().begin();
  }
  return AuditReaderFactory.get( getSession() );
}

代码示例来源:origin: spring-projects/spring-framework

if (txObject.isNewSession()) {
  try {
    if (session != null && session.getTransaction().getStatus() == TransactionStatus.ACTIVE) {
      session.getTransaction().rollback();

代码示例来源:origin: hibernate/hibernate-orm

if ( s.getTransaction() != null && s.getTransaction().getStatus() == TransactionStatus.ACTIVE ) {
  s.getTransaction().rollback();
if ( s.getTransaction() != null && s.getTransaction().getStatus() == TransactionStatus.ACTIVE ) {
  s.getTransaction().rollback();

代码示例来源:origin: hibernate/hibernate-orm

if ( s.getTransaction().getStatus() == TransactionStatus.ACTIVE ) {
  s.getTransaction().rollback();

代码示例来源:origin: hibernate/hibernate-orm

if ( session.getTransaction().getStatus() == TransactionStatus.ACTIVE
    || session.getTransaction().getStatus() == TransactionStatus.MARKED_ROLLBACK ) {
  session.getTransaction().rollback();

代码示例来源:origin: hibernate/hibernate-orm

@Override
protected void release(Session session) {
  if ( session.getTransaction().getStatus() != TransactionStatus.ACTIVE ) {
    TestableThreadLocalContext.unbind( sessionFactory() );
    return;
  }
  long initialCount = sessionFactory().getStatistics().getSessionCloseCount();
  session.getTransaction().commit();
  long subsequentCount = sessionFactory().getStatistics().getSessionCloseCount();
  assertEquals( "Session still open after commit", initialCount + 1, subsequentCount );
  // also make sure it was cleaned up from the internal ThreadLocal...
  assertFalse( "session still bound to internal ThreadLocal", TestableThreadLocalContext.hasBind() );
}

代码示例来源:origin: hibernate/hibernate-orm

if ( txn != null && txn.getStatus() == TransactionStatus.ACTIVE) txn.rollback();
    throw e;
} finally {

相关文章