Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| The Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.orm.hibernate
Class HibernateTransactionManager

    java.lang.Object
      org.springframework.transaction.support.AbstractPlatformTransactionManager
          org.springframework.orm.hibernate.HibernateTransactionManager

All Implemented Interfaces:
  Serializable, BeanFactoryAware, InitializingBean, PlatformTransactionManager, ResourceTransactionManager

    public class HibernateTransactionManager

extends AbstractPlatformTransactionManager
implements ResourceTransactionManager, BeanFactoryAware, InitializingBean

`PlatformTransactionManager` implementation for a single Hibernate `SessionFactory`. Binds a Hibernate Session from the specified factory to the thread, potentially allowing for one thread-bound Session per factory. `SessionFactoryUtils` and `HibernateTemplate` are aware of thread-bound Sessions and participate in such transactions automatically. Using either of those is required for Hibernate access code that needs to support this transaction handling mechanism.

Supports custom isolation levels, and timeouts that get applied as appropriate Hibernate query timeouts. To support the latter, application code must either use `HibernateTemplate` (which by default applies the timeouts) or call `SessionFactoryUtils.applyTransactionTimeout(net.sf.hibernate.Query, net.sf.hibernate.SessionFactory)` for each created Hibernate `Query` object.

This transaction manager is appropriate for applications that use a single Hibernate SessionFactory for transactional data access, but it also supports direct DataSource access within a transaction (i.e. plain JDBC code working with the same DataSource). This allows for mixing services which access Hibernate and services which use plain JDBC (without being aware of Hibernate)! Application code needs to stick to the same simple Connection lookup pattern as with `DataSourceTransactionManager` (i.e. `DataSourceUtils.getConnection(javax.sql.DataSource)` or going through a `TransactionAwareDataSourceProxy`).

Note: To be able to register a DataSource's Connection for plain JDBC code, this instance needs to be aware of the DataSource (`setDataSource(javax.sql.DataSource)`). The given DataSource should obviously match the one used by the given SessionFactory. To achieve this, configure both to the same JNDI DataSource, or preferably create the SessionFactory with `LocalSessionFactoryBean` and a local DataSource (which will be autodetected by this transaction manager).

JTA (usually through `JtaTransactionManager`) is necessary for accessing multiple transactional resources within the same transaction. The DataSource that Hibernate uses needs to be JTA-enabled in such a scenario (see container setup). Normally, JTA setup for Hibernate is somewhat container-specific due to the JTA TransactionManager lookup, required for proper transactional handling of the SessionFactory-level read-write cache.

Fortunately, there is an easier way with Spring: `SessionFactoryUtils` (and thus `HibernateTemplate`) registers synchronizations with Spring's `TransactionSynchronizationManager` (as used by `JtaTransactionManager`), for proper after-completion callbacks. Therefore, as long as Spring's JtaTransactionManager drives the JTA transactions, Hibernate does not require any special configuration for proper JTA participation. Note that there are special restrictions with EJB CMT and restrictive JTA subsystems: See `JtaTransactionManager`'s javadoc for details.

On JDBC 3.0, this transaction manager supports nested transactions via JDBC 3.0 Savepoints. The `AbstractPlatformTransactionManager.setNestedTransactionAllowed(boolean)` "nestedTransactionAllowed"} flag defaults to "false", though, as nested transactions will just apply to the JDBC Connection, not to the Hibernate Session and its cached objects. You can manually set the flag to "true" if you want to use nested transactions for JDBC access code which participates in Hibernate transactions (provided that your JDBC driver supports Savepoints). Note that Hibernate itself does not support nested transactions! Hence, do not expect Hibernate access code to semantically participate in a nested transaction.

Note: Spring's Hibernate support in this package requires Hibernate 2.1. Dedicated Hibernate3 support can be found in a separate package: `org.springframework.orm.hibernate3`.

Since:
  02.05.2003
Author:
  Juergen Hoeller
See Also:
  `setSessionFactory(net.sf.hibernate.SessionFactory)`, `setDataSource(javax.sql.DataSource)`, `LocalSessionFactoryBean`, `SessionFactoryUtils.getSession(net.sf.hibernate.SessionFactory, boolean)`, `SessionFactoryUtils.applyTransactionTimeout(net.sf.hibernate.Query, net.sf.hibernate.SessionFactory)`, `SessionFactoryUtils.releaseSession(net.sf.hibernate.Session, net.sf.hibernate.SessionFactory)`, `HibernateTemplate.execute(org.springframework.orm.hibernate.HibernateCallback)`, `DataSourceUtils.getConnection(javax.sql.DataSource)`, `DataSourceUtils.applyTransactionTimeout(java.sql.Statement, javax.sql.DataSource)`, `DataSourceUtils.releaseConnection(java.sql.Connection, javax.sql.DataSource)`, `JdbcTemplate`, `DataSourceTransactionManager`, `JtaTransactionManager`, Serialized Form

Field Summary

Fields inherited from class org.springframework.transaction.support.AbstractPlatformTransactionManager
`logger, SYNCHRONIZATION_ALWAYS, SYNCHRONIZATION_NEVER, SYNCHRONIZATION_ON_ACTUAL_TRANSACTION`

Constructor Summary
`HibernateTransactionManager()` Create a new HibernateTransactionManager instance.
`HibernateTransactionManager(net.sf.hibernate.SessionFactory sessionFactory)` Create a new HibernateTransactionManager instance.

Method Summary
`void` | `afterPropertiesSet()` Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).
`protected DataAccessException` | `convertHibernateAccessException(net.sf.hibernate.HibernateException ex)` Convert the given HibernateException to an appropriate exception from the org.springframework.dao hierarchy.
`protected DataAccessException` | `convertJdbcAccessException(net.sf.hibernate.JDBCException ex)` Convert the given JDBCException to an appropriate exception from the `org.springframework.dao` hierarchy.
`protected void` | `doBegin(Object transaction, TransactionDefinition definition)` Begin a new transaction with semantics according to the given transaction definition.
`protected void` | `doCleanupAfterCompletion(Object transaction)` Cleanup resources after transaction completion.
`protected void` | `doCommit(DefaultTransactionStatus status)` Perform an actual commit of the given transaction.
`protected Object` | `doGetTransaction()` Return a transaction object for the current transaction state.
`protected void` | `doResume(Object transaction, Object suspendedResources)` Resume the resources of the current transaction.
`protected void` | `doRollback(DefaultTransactionStatus status)` Perform an actual rollback of the given transaction.
`protected void` | `doSetRollbackOnly(DefaultTransactionStatus status)` Set the given transaction rollback-only.
`protected Object` | `doSuspend(Object transaction)` Suspend the resources of the current transaction.
`DataSource` | `getDataSource()` Return the JDBC DataSource that this instance manages transactions for.
`net.sf.hibernate.Interceptor` | `getEntityInterceptor()` Return the current Hibernate entity interceptor, or `null` if none.
`SQLExceptionTranslator` | `getJdbcExceptionTranslator()` Return the JDBC exception translator for this transaction manager.
`Object` | `getResourceFactory()` Return the resource factory that this transaction manager operates on, e.g. a JDBC DataSource or a JMS ConnectionFactory.
`net.sf.hibernate.SessionFactory` | `getSessionFactory()` Return the SessionFactory that this instance should manage transactions for.
`protected boolean` | `isExistingTransaction(Object transaction)` Check if the given transaction object indicates an existing transaction (that is, a transaction which has already started).
`void` | `setAutodetectDataSource(boolean autodetectDataSource)` Set whether to autodetect a JDBC DataSource used by the Hibernate SessionFactory, if set via LocalSessionFactoryBean's `setDataSource`.
`void` | `setBeanFactory(BeanFactory beanFactory)` The bean factory just needs to be known for resolving entity interceptor bean names.
`void` | `setDataSource(DataSource dataSource)` Set the JDBC DataSource that this instance should manage transactions for.
`void` | `setEntityInterceptor(net.sf.hibernate.Interceptor entityInterceptor)` Set a Hibernate entity interceptor that allows to inspect and change property values before writing to and reading from the database.
`void` | `setEntityInterceptorBeanName(String entityInterceptorBeanName)` Set the bean name of a Hibernate entity interceptor that allows to inspect and change property values before writing to and reading from the database.
`void` | `setJdbcExceptionTranslator(SQLExceptionTranslator jdbcExceptionTranslator)` Set the JDBC exception translator for this transaction manager.
`void` | `setSessionFactory(net.sf.hibernate.SessionFactory sessionFactory)` Set the SessionFactory that this instance should manage transactions for.

Methods inherited from class org.springframework.transaction.support.AbstractPlatformTransactionManager
`commit, determineTimeout, getDefaultTimeout, getTransaction, getTransactionSynchronization, invokeAfterCompletion, isFailEarlyOnGlobalRollbackOnly, isGlobalRollbackOnParticipationFailure, isNestedTransactionAllowed, isRollbackOnCommitFailure, newTransactionStatus, registerAfterCompletionWithExistingTransaction, resume, rollback, setDefaultTimeout, setFailEarlyOnGlobalRollbackOnly, setGlobalRollbackOnParticipationFailure, setNestedTransactionAllowed, setRollbackOnCommitFailure, setTransactionSynchronization, setTransactionSynchronizationName, shouldCommitOnGlobalRollbackOnly, suspend, triggerBeforeCommit, triggerBeforeCompletion, useSavepointForNestedTransaction`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.springframework.transaction.PlatformTransactionManager
`commit, getTransaction, rollback`

Constructor Detail

### HibernateTransactionManager

    public HibernateTransactionManager()

  Create a new HibernateTransactionManager instance. A SessionFactory has to be set to be able to use it.

  See Also:
    `setSessionFactory(net.sf.hibernate.SessionFactory)`

### HibernateTransactionManager

    public HibernateTransactionManager(net.sf.hibernate.SessionFactory sessionFactory)

  Create a new HibernateTransactionManager instance.

  Parameters:
    `sessionFactory` - SessionFactory to manage transactions for

Method Detail

### setSessionFactory

    public void setSessionFactory(net.sf.hibernate.SessionFactory sessionFactory)

  Set the SessionFactory that this instance should manage transactions for.

### getSessionFactory

    public net.sf.hibernate.SessionFactory getSessionFactory()

  Return the SessionFactory that this instance should manage transactions for.

### setDataSource

    public void setDataSource(DataSource dataSource)

  Set the JDBC DataSource that this instance should manage transactions for. The DataSource should match the one used by the Hibernate SessionFactory: for example, you could specify the same JNDI DataSource for both.

  If the SessionFactory was configured with LocalDataSourceConnectionProvider, i.e. by Spring's LocalSessionFactoryBean with a specified "dataSource", the DataSource will be autodetected: You can still explictly specify the DataSource, but you don't need to in this case.

  A transactional JDBC Connection for this DataSource will be provided to application code accessing this DataSource directly via DataSourceUtils or JdbcTemplate. The Connection will be taken from the Hibernate Session.

  The DataSource specified here should be the target DataSource to manage transactions for, not a TransactionAwareDataSourceProxy. Only data access code may work with TransactionAwareDataSourceProxy, while the transaction manager needs to work on the underlying target DataSource. If there's nevertheless a TransactionAwareDataSourceProxy passed in, it will be unwrapped to extract its target DataSource.

  See Also:
    `setAutodetectDataSource(boolean)`, `LocalDataSourceConnectionProvider`, `LocalSessionFactoryBean.setDataSource(javax.sql.DataSource)`, `TransactionAwareDataSourceProxy`, `DataSourceUtils`, `JdbcTemplate`

### getDataSource

    public DataSource getDataSource()

  Return the JDBC DataSource that this instance manages transactions for.

### setAutodetectDataSource

    public void setAutodetectDataSource(boolean autodetectDataSource)

  Set whether to autodetect a JDBC DataSource used by the Hibernate SessionFactory, if set via LocalSessionFactoryBean's `setDataSource`. Default is "true".

  Can be turned off to deliberately ignore an available DataSource, in order to not expose Hibernate transactions as JDBC transactions for that DataSource.

  See Also:
    `setDataSource(javax.sql.DataSource)`, `LocalSessionFactoryBean.setDataSource(javax.sql.DataSource)`

### setEntityInterceptorBeanName

    public void setEntityInterceptorBeanName(String entityInterceptorBeanName)

  Set the bean name of a Hibernate entity interceptor that allows to inspect and change property values before writing to and reading from the database. Will get applied to any new Session created by this transaction manager.

  Requires the bean factory to be known, to be able to resolve the bean name to an interceptor instance on session creation. Typically used for prototype interceptors, i.e. a new interceptor instance per session.

  Can also be used for shared interceptor instances, but it is recommended to set the interceptor reference directly in such a scenario.

  Parameters:
    `entityInterceptorBeanName` - the name of the entity interceptor in the bean factory
  See Also:
    `setBeanFactory(org.springframework.beans.factory.BeanFactory)`, `setEntityInterceptor(net.sf.hibernate.Interceptor)`

### setEntityInterceptor

    public void setEntityInterceptor(net.sf.hibernate.Interceptor entityInterceptor)

  Set a Hibernate entity interceptor that allows to inspect and change property values before writing to and reading from the database. Will get applied to any new Session created by this transaction manager.

  Such an interceptor can either be set at the SessionFactory level, i.e. on LocalSessionFactoryBean, or at the Session level, i.e. on HibernateTemplate, HibernateInterceptor, and HibernateTransactionManager. It's preferable to set it on LocalSessionFactoryBean or HibernateTransactionManager to avoid repeated configuration and guarantee consistent behavior in transactions.

  See Also:
    `LocalSessionFactoryBean.setEntityInterceptor(net.sf.hibernate.Interceptor)`, `HibernateAccessor.setEntityInterceptor(net.sf.hibernate.Interceptor)`, `HibernateAccessor.setEntityInterceptor(net.sf.hibernate.Interceptor)`

### getEntityInterceptor

    public net.sf.hibernate.Interceptor getEntityInterceptor()
                                                      throws IllegalStateException,
                                                             BeansException

  Return the current Hibernate entity interceptor, or `null` if none. Resolves an entity interceptor bean name via the bean factory, if necessary.

  Throws:
    `IllegalStateException` - if bean name specified but no bean factory set
    `BeansException` - if bean name resolution via the bean factory failed
  See Also:
    `setEntityInterceptor(net.sf.hibernate.Interceptor)`, `setEntityInterceptorBeanName(java.lang.String)`, `setBeanFactory(org.springframework.beans.factory.BeanFactory)`

### setJdbcExceptionTranslator

    public void setJdbcExceptionTranslator(SQLExceptionTranslator jdbcExceptionTranslator)

  Set the JDBC exception translator for this transaction manager. Applied to SQLExceptions (wrapped by Hibernate's JDBCException) thrown by flushing on commit.

  The default exception translator is either a SQLErrorCodeSQLExceptionTranslator if a DataSource is available, or a SQLStateSQLExceptionTranslator else.

  Parameters:
    `jdbcExceptionTranslator` - the exception translator
  See Also:
    `SQLException`, `JDBCException`, `SessionFactoryUtils.newJdbcExceptionTranslator(net.sf.hibernate.SessionFactory)`, `SQLErrorCodeSQLExceptionTranslator`, `SQLStateSQLExceptionTranslator`

### getJdbcExceptionTranslator

    public SQLExceptionTranslator getJdbcExceptionTranslator()

  Return the JDBC exception translator for this transaction manager.

  Creates a default SQLErrorCodeSQLExceptionTranslator or SQLStateSQLExceptionTranslator for the specified SessionFactory, if no exception translator explicitly specified.

  See Also:
    `setJdbcExceptionTranslator(org.springframework.jdbc.support.SQLExceptionTranslator)`

### setBeanFactory

    public void setBeanFactory(BeanFactory beanFactory)

  The bean factory just needs to be known for resolving entity interceptor bean names. It does not need to be set for any other mode of operation.

  Specified by:
    `setBeanFactory` in interface `BeanFactoryAware`
  Parameters:
    `beanFactory` - owning BeanFactory (never `null`). The bean can immediately call methods on the factory.
  See Also:
    `setEntityInterceptorBeanName(java.lang.String)`

### afterPropertiesSet

    public void afterPropertiesSet()

  Description copied from interface: `InitializingBean`
  Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).

  This method allows the bean instance to perform initialization only possible when all bean properties have been set and to throw an exception in the event of misconfiguration.

  Specified by:
    `afterPropertiesSet` in interface `InitializingBean`

### getResourceFactory

    public Object getResourceFactory()

  Description copied from interface: `ResourceTransactionManager`
  Return the resource factory that this transaction manager operates on, e.g. a JDBC DataSource or a JMS ConnectionFactory.

  This target resource factory is usually used as resource key for `TransactionSynchronizationManager`'s resource bindings per thread.

  Specified by:
    `getResourceFactory` in interface `ResourceTransactionManager`
  Returns:
    the target resource factory (never `null`)
  See Also:
    `TransactionSynchronizationManager.bindResource(java.lang.Object, java.lang.Object)`, `TransactionSynchronizationManager.getResource(java.lang.Object)`

### doGetTransaction

    protected Object doGetTransaction()

  Description copied from class: `AbstractPlatformTransactionManager`
  Return a transaction object for the current transaction state.

  The returned object will usually be specific to the concrete transaction manager implementation, carrying corresponding transaction state in a modifiable fashion. This object will be passed into the other template methods (e.g. doBegin and doCommit), either directly or as part of a DefaultTransactionStatus instance.

  The returned object should contain information about any existing transaction, that is, a transaction that has already started before the current `getTransaction` call on the transaction manager. Consequently, a `doGetTransaction` implementation will usually look for an existing transaction and store corresponding state in the returned transaction object.

  Specified by:
    `doGetTransaction` in class `AbstractPlatformTransactionManager`
  Returns:
    the current transaction object
  See Also:
    `AbstractPlatformTransactionManager.doBegin(java.lang.Object, org.springframework.transaction.TransactionDefinition)`, `AbstractPlatformTransactionManager.doCommit(org.springframework.transaction.support.DefaultTransactionStatus)`, `AbstractPlatformTransactionManager.doRollback(org.springframework.transaction.support.DefaultTransactionStatus)`, `DefaultTransactionStatus.getTransaction()`

### isExistingTransaction

    protected boolean isExistingTransaction(Object transaction)

  Description copied from class: `AbstractPlatformTransactionManager`
  Check if the given transaction object indicates an existing transaction (that is, a transaction which has already started).

  The result will be evaluated according to the specified propagation behavior for the new transaction. An existing transaction might get suspended (in case of PROPAGATION_REQUIRES_NEW), or the new transaction might participate in the existing one (in case of PROPAGATION_REQUIRED).

  The default implementation returns `false`, assuming that participating in existing transactions is generally not supported. Subclasses are of course encouraged to provide such support.

  Overrides:
    `isExistingTransaction` in class `AbstractPlatformTransactionManager`
  Parameters:
    `transaction` - transaction object returned by doGetTransaction
  Returns:
    if there is an existing transaction
  See Also:
    `AbstractPlatformTransactionManager.doGetTransaction()`

### doBegin

    protected void doBegin(Object transaction,
                           TransactionDefinition definition)

  Description copied from class: `AbstractPlatformTransactionManager`
  Begin a new transaction with semantics according to the given transaction definition. Does not have to care about applying the propagation behavior, as this has already been handled by this abstract manager.

  This method gets called when the transaction manager has decided to actually start a new transaction. Either there wasn't any transaction before, or the previous transaction has been suspended.

  A special scenario is a nested transaction without savepoint: If `useSavepointForNestedTransaction()` returns "false", this method will be called to start a nested transaction when necessary. In such a context, there will be an active transaction: The implementation of this method has to detect this and start an appropriate nested transaction.

  Specified by:
    `doBegin` in class `AbstractPlatformTransactionManager`
  Parameters:
    `transaction` - transaction object returned by `doGetTransaction`
    `definition` - TransactionDefinition instance, describing propagation behavior, isolation level, read-only flag, timeout, and transaction name

### doSuspend

    protected Object doSuspend(Object transaction)

  Description copied from class: `AbstractPlatformTransactionManager`
  Suspend the resources of the current transaction. Transaction synchronization will already have been suspended.

  The default implementation throws a TransactionSuspensionNotSupportedException, assuming that transaction suspension is generally not supported.

  Overrides:
    `doSuspend` in class `AbstractPlatformTransactionManager`
  Parameters:
    `transaction` - transaction object returned by `doGetTransaction`
  Returns:
    an object that holds suspended resources (will be kept unexamined for passing it into doResume)
  See Also:
    `AbstractPlatformTransactionManager.doResume(java.lang.Object, java.lang.Object)`

### doResume

    protected void doResume(Object transaction,
                            Object suspendedResources)

  Description copied from class: `AbstractPlatformTransactionManager`
  Resume the resources of the current transaction. Transaction synchronization will be resumed afterwards.

  The default implementation throws a TransactionSuspensionNotSupportedException, assuming that transaction suspension is generally not supported.

  Overrides:
    `doResume` in class `AbstractPlatformTransactionManager`
  Parameters:
    `transaction` - transaction object returned by `doGetTransaction`
    `suspendedResources` - the object that holds suspended resources, as returned by doSuspend
  See Also:
    `AbstractPlatformTransactionManager.doSuspend(java.lang.Object)`

### doCommit

    protected void doCommit(DefaultTransactionStatus status)

  Description copied from class: `AbstractPlatformTransactionManager`
  Perform an actual commit of the given transaction.

  An implementation does not need to check the "new transaction" flag or the rollback-only flag; this will already have been handled before. Usually, a straight commit will be performed on the transaction object contained in the passed-in status.

  Specified by:
    `doCommit` in class `AbstractPlatformTransactionManager`
  Parameters:
    `status` - the status representation of the transaction
  See Also:
    `DefaultTransactionStatus.getTransaction()`

### doRollback

    protected void doRollback(DefaultTransactionStatus status)

  Description copied from class: `AbstractPlatformTransactionManager`
  Perform an actual rollback of the given transaction.

  An implementation does not need to check the "new transaction" flag; this will already have been handled before. Usually, a straight rollback will be performed on the transaction object contained in the passed-in status.

  Specified by:
    `doRollback` in class `AbstractPlatformTransactionManager`
  Parameters:
    `status` - the status representation of the transaction
  See Also:
    `DefaultTransactionStatus.getTransaction()`

### doSetRollbackOnly

    protected void doSetRollbackOnly(DefaultTransactionStatus status)

  Description copied from class: `AbstractPlatformTransactionManager`
  Set the given transaction rollback-only. Only called on rollback if the current transaction participates in an existing one.

  The default implementation throws an IllegalTransactionStateException, assuming that participating in existing transactions is generally not supported. Subclasses are of course encouraged to provide such support.

  Overrides:
    `doSetRollbackOnly` in class `AbstractPlatformTransactionManager`
  Parameters:
    `status` - the status representation of the transaction

### doCleanupAfterCompletion

    protected void doCleanupAfterCompletion(Object transaction)

  Description copied from class: `AbstractPlatformTransactionManager`
  Cleanup resources after transaction completion.

  Called after `doCommit` and `doRollback` execution, on any outcome. The default implementation does nothing.

  Should not throw any exceptions but just issue warnings on errors.

  Overrides:
    `doCleanupAfterCompletion` in class `AbstractPlatformTransactionManager`
  Parameters:
    `transaction` - transaction object returned by `doGetTransaction`

### convertHibernateAccessException

    protected DataAccessException convertHibernateAccessException(net.sf.hibernate.HibernateException ex)

  Convert the given HibernateException to an appropriate exception from the org.springframework.dao hierarchy. Can be overridden in subclasses.

  Parameters:
    `ex` - HibernateException that occured
  Returns:
    the corresponding DataAccessException instance
  See Also:
    `convertJdbcAccessException(net.sf.hibernate.JDBCException)`

### convertJdbcAccessException

    protected DataAccessException convertJdbcAccessException(net.sf.hibernate.JDBCException ex)

  Convert the given JDBCException to an appropriate exception from the `org.springframework.dao` hierarchy. Uses a JDBC exception translator. Can be overridden in subclasses.

  Parameters:
    `ex` - JDBCException that occured, wrapping a SQLException
  Returns:
    the corresponding DataAccessException instance
  See Also:
    `setJdbcExceptionTranslator(org.springframework.jdbc.support.SQLExceptionTranslator)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| The Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2007 The Spring Framework.