public IntegralDataTypeHolder getNextValue() { return session.getTransactionCoordinator().createIsolationDelegate().delegateWork( work, true ); }
@Override public IntegralDataTypeHolder getNextValue() { return session.getTransactionCoordinator().createIsolationDelegate().delegateWork( new AbstractReturningWork<IntegralDataTypeHolder>() { @Override
@Override public IntegralDataTypeHolder getNextValue() { return session.getTransactionCoordinator().createIsolationDelegate().delegateWork( new AbstractReturningWork<IntegralDataTypeHolder>() { @Override
public void createTempTable( IdTableInfoImpl idTableInfo, TempTableDdlTransactionHandling ddlTransactionHandling, SharedSessionContractImplementor session) { // Don't really know all the codes required to adequately decipher returned jdbc exceptions here. // simply allow the failure to be eaten and the subsequent insert-selects/deletes should fail TemporaryTableCreationWork work = new TemporaryTableCreationWork( idTableInfo, session.getFactory() ); if ( ddlTransactionHandling == TempTableDdlTransactionHandling.NONE ) { final Connection connection = session.getJdbcCoordinator() .getLogicalConnection() .getPhysicalConnection(); work.execute( connection ); session.getJdbcCoordinator().afterStatementExecution(); } else { session.getTransactionCoordinator() .createIsolationDelegate() .delegateWork( work, ddlTransactionHandling == TempTableDdlTransactionHandling.ISOLATE_AND_TRANSACT ); } }
value = session.getTransactionCoordinator().createIsolationDelegate().delegateWork( work, true );
session = tempSession; isJTA = session.getTransactionCoordinator().getTransactionCoordinatorBuilder().isJta();
isJta = session.getTransactionCoordinator().getTransactionCoordinatorBuilder().isJta();
session.setFlushMode( FlushMode.MANUAL ); boolean isJTA = session.getTransactionCoordinator().getTransactionCoordinatorBuilder().isJta();
try { final TransactionStatus transactionStatus = session.getTransactionCoordinator().getTransactionDriverControl().getStatus(); if ( transactionStatus.isOneOf( TransactionStatus.ROLLED_BACK,
session.getTransactionCoordinator() .createIsolationDelegate() .delegateWork( work, ddlTransactionHandling == TempTableDdlTransactionHandling.ISOLATE_AND_TRANSACT );
public IntegralDataTypeHolder getNextValue() { return session.getTransactionCoordinator().createIsolationDelegate().delegateWork( work, true ); }
private Serializable doWorkInIsolationTransaction(final SharedSessionContractImplementor session) throws HibernateException { class Work extends AbstractReturningWork<IntegralDataTypeHolder> { private final SharedSessionContractImplementor localSession = session; @Override public IntegralDataTypeHolder execute(Connection connection) throws SQLException { try { return doWorkInCurrentTransactionIfAny( localSession ); } catch ( RuntimeException sqle ) { throw new HibernateException( "Could not get or update next value", sqle ); } } } //we want to work out of transaction boolean workInTransaction = false; Work work = new Work(); Serializable generatedValue = session.getTransactionCoordinator().createIsolationDelegate().delegateWork( work, workInTransaction ); return generatedValue; }
/** * Return a transaction context given the session implementor; it never returns {@code null}. * * @param session current {@link SessionImplementor} * @return the {@link TransactionContext} */ public static TransactionContext transactionContext(SharedSessionContractImplementor session) { TransactionCoordinator transactionCoordinator = session.getTransactionCoordinator(); if ( transactionCoordinator != null && transactionCoordinator.getTransactionDriverControl() != null ) { TransactionDriver driver = transactionCoordinator.getTransactionDriverControl(); if ( driver instanceof IdentifiableDriver ) { return new TransactionContextImpl( (IdentifiableDriver) driver ); } } return EmptyTransactionContext.INSTANCE; } }
@Override public IntegralDataTypeHolder getNextValue() { return session.getTransactionCoordinator().createIsolationDelegate().delegateWork( new AbstractReturningWork<IntegralDataTypeHolder>() { @Override
private void executeWork(AbstractWork work, SharedSessionContractImplementor session) { if ( transactionality == IdTableManagementTransactionality.NONE ) { // simply execute the work using a Connection obtained from JdbcConnectionAccess // // NOTE : we do not (potentially) release the Connection here // via LogicalConnectionImplementor#afterStatement because // for sure we will be immediately using it again to // populate the id table and use it... try { work.execute( session.getJdbcCoordinator().getLogicalConnection().getPhysicalConnection() ); } catch (SQLException e) { log.error( "Unable to use JDBC Connection to create perform id table management", e ); } } else { session.getTransactionCoordinator() .createIsolationDelegate() .delegateWork( work, transactionality == IdTableManagementTransactionality.ISOLATE_AND_TRANSACT ); } }
public void dropIdTable(SharedSessionContractImplementor session) { final IdTableDropWork work = new IdTableDropWork(); if ( transactionality == IdTableManagementTransactionality.NONE ) { final Connection connection = session.getJdbcCoordinator() .getLogicalConnection() .getPhysicalConnection(); work.execute( connection ); session.getJdbcCoordinator().afterStatementExecution(); } else { session.getTransactionCoordinator() .createIsolationDelegate() .delegateWork( work, transactionality == IdTableManagementTransactionality.ISOLATE_AND_TRANSACT ); } }
isJta = session.getTransactionCoordinator().getTransactionCoordinatorBuilder().isJta();
session = tempSession; isJTA = session.getTransactionCoordinator().getTransactionCoordinatorBuilder().isJta();
session.setFlushMode( FlushMode.MANUAL ); boolean isJTA = session.getTransactionCoordinator().getTransactionCoordinatorBuilder().isJta();
try { final TransactionStatus transactionStatus = session.getTransactionCoordinator().getTransactionDriverControl().getStatus(); if ( transactionStatus.isOneOf( TransactionStatus.ROLLED_BACK,