public interface

TransactionFactory

org.hibernate.transaction.TransactionFactory
Known Indirect Subclasses

Class Overview

Contract for generating Hibernate Transaction instances.

The concrete implementation to be used is specified by the TRANSACTION_STRATEGY configuration setting.

Implementors must be threadsafe and should declare a public default constructor.

See Also

Summary

Nested Classes
interface TransactionFactory.Context Callback mechanism; a context is always a Session in the Hibernate usage. 
Public Methods
abstract boolean areCallbacksLocalToHibernateTransactions()
Are all transaction callbacks local to Hibernate Transactions? Or can the callbacks originate from some other source (e.g.
abstract void configure(Properties props)
Configure from the given properties.
abstract Transaction createTransaction(JDBCContext jdbcContext, TransactionFactory.Context context)
Begin a transaction and return the associated Transaction instance.
abstract ConnectionReleaseMode getDefaultReleaseMode()
Get the default connection release mode.
abstract boolean isTransactionInProgress(JDBCContext jdbcContext, TransactionFactory.Context transactionContext, Transaction transaction)
Determine whether an underlying transaction is in progress.
abstract boolean isTransactionManagerRequired()
Do we require access to the JTA TransactionManager for this strategy?

Public Methods

public abstract boolean areCallbacksLocalToHibernateTransactions ()

Are all transaction callbacks local to Hibernate Transactions? Or can the callbacks originate from some other source (e.g. a JTA Synchronization).

Returns
  • true if callbacks only ever originate from the Hibernate Transaction; false otherwise.

public abstract void configure (Properties props)

Configure from the given properties.

Parameters
props The configuration properties.
Throws
HibernateException Indicates a problem configuring this factory.

public abstract Transaction createTransaction (JDBCContext jdbcContext, TransactionFactory.Context context)

Begin a transaction and return the associated Transaction instance.

Parameters
jdbcContext The jdbc context to which the transaction belongs
context The contract regarding the context in which this transaction will operate.
Returns
  • Transaction
Throws
HibernateException Indicates a problem generating a transaction instance

public abstract ConnectionReleaseMode getDefaultReleaseMode ()

Get the default connection release mode.

Returns
  • The default release mode associated with this strategy

public abstract boolean isTransactionInProgress (JDBCContext jdbcContext, TransactionFactory.Context transactionContext, Transaction transaction)

Determine whether an underlying transaction is in progress.

Mainly this is used in determining whether to register a synchronization as well as whether or not to circumvent auto flushing outside transactions.

Parameters
jdbcContext The JDBC context
transactionContext The transaction context
transaction The Hibernate transaction
Returns
  • true if an underlying transaction is know to be in effect.

public abstract boolean isTransactionManagerRequired ()

Do we require access to the JTA TransactionManager for this strategy?

Returns
  • True if this strategy requires access to the JTA TransactionManager; false otherwise.