public boolean hasHibernateManagedTransaction() { return (this.sessionHolder != null && this.sessionHolder.getSession().getTransaction().getStatus() == TransactionStatus.ACTIVE); }
private void commitTransaction(UnitOfWork unitOfWork, Session session) { if (!unitOfWork.transactional()) { return; } final Transaction txn = session.getTransaction(); if (txn != null && txn.getStatus().canRollback()) { txn.commit(); } }
public boolean hasHibernateManagedTransaction() { return (this.sessionHolder != null && this.sessionHolder.getSession().getTransaction().getStatus() == TransactionStatus.ACTIVE); }
@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(); }); } }
private void rollbackTransaction(UnitOfWork unitOfWork, Session session) { if (!unitOfWork.transactional()) { return; } final Transaction txn = session.getTransaction(); if (txn != null && txn.getStatus().canRollback()) { txn.rollback(); } }
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 ); } } } }
@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(); }
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; } } }
@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(); } } }
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(); } }
@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(); } }
@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; } } }
@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(); } }
protected AuditReader getAuditReader() { Session session = getSession(); if(session.getTransaction().getStatus() != TransactionStatus.ACTIVE ){ session.getTransaction().begin(); } return AuditReaderFactory.get( getSession() ); }
if (txObject.isNewSession()) { try { if (session != null && session.getTransaction().getStatus() == TransactionStatus.ACTIVE) { session.getTransaction().rollback();
if ( s.getTransaction().getStatus() == TransactionStatus.ACTIVE ) { s.getTransaction().rollback();
@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() ); }
if ( txn != null && txn.getStatus() == TransactionStatus.ACTIVE) txn.rollback(); throw e; } finally {