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 LocalSessionFactoryBean

    java.lang.Object
      org.springframework.orm.hibernate.LocalSessionFactoryBean

All Implemented Interfaces:
  DisposableBean, FactoryBean, InitializingBean

    public class LocalSessionFactoryBean

extends Object
implements FactoryBean, InitializingBean, DisposableBean

`FactoryBean` that creates a Hibernate `SessionFactory`. This is the usual way to set up a shared Hibernate SessionFactory in a Spring application context; the SessionFactory can then be passed to Hibernate-based DAOs via dependency injection.

Configuration settings can either be read from a Hibernate XML file, specified as "configLocation", or completely via this class. A typical local configuration consists of one or more "mappingResources", various "hibernateProperties" (not strictly necessary), and a "dataSource" that the SessionFactory should use. The latter can also be specified via Hibernate properties, but "dataSource" supports any Spring-configured DataSource, instead of relying on Hibernate's own connection providers.

This SessionFactory handling strategy is appropriate for most types of applications, from Hibernate-only single database apps to ones that need distributed transactions. Either `HibernateTransactionManager` or `JtaTransactionManager` can be used for transaction demarcation, with the latter only necessary for transactions which span multiple databases.

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:
  05.05.2003
Author:
  Juergen Hoeller
See Also:
  `HibernateAccessor.setSessionFactory(net.sf.hibernate.SessionFactory)`, `HibernateTransactionManager.setSessionFactory(net.sf.hibernate.SessionFactory)`

Field Summary
`protected Log` | `logger`

Constructor Summary
`LocalSessionFactoryBean()`

Method Summary
`void` | `afterPropertiesSet()` Initialize the SessionFactory for the given or the default location.
`void` | `createDatabaseSchema()` Execute schema creation script, determined by the Configuration object used for creating the SessionFactory.
`void` | `destroy()` Close the SessionFactory on bean factory shutdown.
`void` | `dropDatabaseSchema()` Execute schema drop script, determined by the Configuration object used for creating the SessionFactory.
`protected void` | `executeSchemaScript(Connection con, String[] sql)` Execute the given schema script on the given JDBC Connection.
`protected void` | `executeSchemaStatement(Statement stmt, String sql)` Execute the given schema SQL on the given JDBC Statement.
`static DataSource` | `getConfigTimeDataSource()` Return the DataSource for the currently configured Hibernate SessionFactory, to be used by LocalDataSourceConnectionProvoder.
`static LobHandler` | `getConfigTimeLobHandler()` Return the LobHandler for the currently configured Hibernate SessionFactory, to be used by UserType implementations like ClobStringType.
`static TransactionManager` | `getConfigTimeTransactionManager()` Return the JTA TransactionManager for the currently configured Hibernate SessionFactory, to be used by LocalTransactionManagerLookup.
`net.sf.hibernate.cfg.Configuration` | `getConfiguration()` Return the Configuration object used to build the SessionFactory.
`Properties` | `getHibernateProperties()` Return the Hibernate properties, if any.
`Object` | `getObject()` Return the singleton SessionFactory.
`Class` | `getObjectType()` Return the type of object that this FactoryBean creates, or `null` if not known in advance.
`boolean` | `isSingleton()` Is the object managed by this factory a singleton?
`protected net.sf.hibernate.cfg.Configuration` | `newConfiguration()` Subclasses can override this method to perform custom initialization of the Configuration instance used for SessionFactory creation.
`protected net.sf.hibernate.SessionFactory` | `newSessionFactory(net.sf.hibernate.cfg.Configuration config)` Subclasses can override this method to perform custom initialization of the SessionFactory instance, creating it via the given Configuration object that got prepared by this LocalSessionFactoryBean.
`protected void` | `postProcessConfiguration(net.sf.hibernate.cfg.Configuration config)` To be implemented by subclasses that want to to perform custom post-processing of the Configuration object after this FactoryBean performed its default initialization.
`void` | `setConfigLocation(Resource configLocation)` Set the location of the Hibernate XML config file, for example as classpath resource "classpath:hibernate.cfg.xml".
`void` | `setDataSource(DataSource dataSource)` Set the DataSource to be used by the SessionFactory.
`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` | `setHibernateProperties(Properties hibernateProperties)` Set Hibernate properties, such as "hibernate.dialect".
`void` | `setJtaTransactionManager(TransactionManager jtaTransactionManager)` Set the JTA TransactionManager to be used for Hibernate's TransactionManagerLookup.
`void` | `setLobHandler(LobHandler lobHandler)` Set the LobHandler to be used by the SessionFactory.
`void` | `setMappingDirectoryLocations(Resource[] mappingDirectoryLocations)` Set locations of directories that contain Hibernate mapping resources, like "WEB-INF/mappings".
`void` | `setMappingJarLocations(Resource[] mappingJarLocations)` Set locations of jar files that contain Hibernate mapping resources, like "WEB-INF/lib/example.hbm.jar".
`void` | `setMappingLocations(Resource[] mappingLocations)` Set locations of Hibernate mapping files, for example as classpath resource "classpath:example.hbm.xml".
`void` | `setMappingResources(String[] mappingResources)` Set Hibernate mapping resources to be found in the class path, like "example.hbm.xml" or "mypackage/example.hbm.xml".
`void` | `setNamingStrategy(net.sf.hibernate.cfg.NamingStrategy namingStrategy)` Set a Hibernate NamingStrategy for the SessionFactory, determining the physical column and table names given the info in the mapping document.
`void` | `setSchemaUpdate(boolean schemaUpdate)` Set whether to execute a schema update after SessionFactory initialization.
`void` | `setUseTransactionAwareDataSource(boolean useTransactionAwareDataSource)` Set whether to use a transaction-aware DataSource for the SessionFactory, i.e. whether to automatically wrap the passed-in DataSource with Spring's TransactionAwareDataSourceProxy.
`void` | `updateDatabaseSchema()` Execute schema update script, determined by the Configuration object used for creating the SessionFactory.

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

Field Detail

### logger

    protected final Log logger

Constructor Detail

### LocalSessionFactoryBean

    public LocalSessionFactoryBean()

Method Detail

### getConfigTimeDataSource

    public static DataSource getConfigTimeDataSource()

  Return the DataSource for the currently configured Hibernate SessionFactory, to be used by LocalDataSourceConnectionProvoder.

  This instance will be set before initialization of the corresponding SessionFactory, and reset immediately afterwards. It is thus only available during configuration.

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

### getConfigTimeTransactionManager

    public static TransactionManager getConfigTimeTransactionManager()

  Return the JTA TransactionManager for the currently configured Hibernate SessionFactory, to be used by LocalTransactionManagerLookup.

  This instance will be set before initialization of the corresponding SessionFactory, and reset immediately afterwards. It is thus only available during configuration.

  See Also:
    `setJtaTransactionManager(javax.transaction.TransactionManager)`, `LocalTransactionManagerLookup`

### getConfigTimeLobHandler

    public static LobHandler getConfigTimeLobHandler()

  Return the LobHandler for the currently configured Hibernate SessionFactory, to be used by UserType implementations like ClobStringType.

  This instance will be set before initialization of the corresponding SessionFactory, and reset immediately afterwards. It is thus only available during configuration.

  See Also:
    `setLobHandler(org.springframework.jdbc.support.lob.LobHandler)`, `ClobStringType`, `BlobByteArrayType`, `BlobSerializableType`

### setConfigLocation

    public void setConfigLocation(Resource configLocation)

  Set the location of the Hibernate XML config file, for example as classpath resource "classpath:hibernate.cfg.xml".

  Note: Can be omitted when all necessary properties and mapping resources are specified locally via this bean.

  See Also:
    `Configuration.configure(java.net.URL)`

### setMappingResources

    public void setMappingResources(String[] mappingResources)

  Set Hibernate mapping resources to be found in the class path, like "example.hbm.xml" or "mypackage/example.hbm.xml". Analogous to mapping entries in a Hibernate XML config file. Alternative to the more generic setMappingLocations method.

  Can be used to add to mappings from a Hibernate XML config file, or to specify all mappings locally.

  See Also:
    `setMappingLocations(org.springframework.core.io.Resource[])`, `Configuration.addResource(java.lang.String, java.lang.ClassLoader)`

### setMappingLocations

    public void setMappingLocations(Resource[] mappingLocations)

  Set locations of Hibernate mapping files, for example as classpath resource "classpath:example.hbm.xml". Supports any resource location via Spring's resource abstraction, for example relative paths like "WEB-INF/mappings/example.hbm.xml" when running in an application context.

  Can be used to add to mappings from a Hibernate XML config file, or to specify all mappings locally.

  See Also:
    `Configuration.addInputStream(java.io.InputStream)`

### setMappingJarLocations

    public void setMappingJarLocations(Resource[] mappingJarLocations)

  Set locations of jar files that contain Hibernate mapping resources, like "WEB-INF/lib/example.hbm.jar".

  Can be used to add to mappings from a Hibernate XML config file, or to specify all mappings locally.

  See Also:
    `Configuration.addJar(java.io.File)`

### setMappingDirectoryLocations

    public void setMappingDirectoryLocations(Resource[] mappingDirectoryLocations)

  Set locations of directories that contain Hibernate mapping resources, like "WEB-INF/mappings".

  Can be used to add to mappings from a Hibernate XML config file, or to specify all mappings locally.

  See Also:
    `Configuration.addDirectory(java.io.File)`

### setHibernateProperties

    public void setHibernateProperties(Properties hibernateProperties)

  Set Hibernate properties, such as "hibernate.dialect".

  Can be used to override values in a Hibernate XML config file, or to specify all necessary properties locally.

  Note: Do not specify a transaction provider here when using Spring-driven transactions. It is also advisable to omit connection provider settings and use a Spring-set DataSource instead.

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

### getHibernateProperties

    public Properties getHibernateProperties()

  Return the Hibernate properties, if any. Mainly available for configuration through property paths that specify individual keys.

### setDataSource

    public void setDataSource(DataSource dataSource)

  Set the DataSource to be used by the SessionFactory. If set, this will override corresponding settings in Hibernate properties.

  Note: If this is set, the Hibernate settings should not define a connection provider to avoid meaningless double configuration.

  If using HibernateTransactionManager as transaction strategy, consider proxying your target DataSource with a LazyConnectionDataSourceProxy. This defers fetching of an actual JDBC Connection until the first JDBC Statement gets executed, even within JDBC transactions (as performed by HibernateTransactionManager). Such lazy fetching is particularly beneficial for read-only operations, in particular if the chances of resolving the result in the second-level cache are high.

  As JTA and transactional JNDI DataSources already provide lazy enlistment of JDBC Connections, LazyConnectionDataSourceProxy does not add value with JTA (i.e. Spring's JtaTransactionManager) as transaction strategy.

  See Also:
    `setUseTransactionAwareDataSource(boolean)`, `LocalDataSourceConnectionProvider`, `HibernateTransactionManager`, `JtaTransactionManager`, `LazyConnectionDataSourceProxy`

### setUseTransactionAwareDataSource

    public void setUseTransactionAwareDataSource(boolean useTransactionAwareDataSource)

  Set whether to use a transaction-aware DataSource for the SessionFactory, i.e. whether to automatically wrap the passed-in DataSource with Spring's TransactionAwareDataSourceProxy.

  Default is "false": LocalSessionFactoryBean is usually used with Spring's HibernateTransactionManager or JtaTransactionManager, both of which work nicely on a plain JDBC DataSource. Hibernate Sessions and their JDBC Connections are fully managed by the Hibernate/JTA transaction infrastructure in such a scenario.

  If you switch this flag to "true", Spring's Hibernate access will be able to participate in JDBC-based transactions managed outside of Hibernate (for example, by Spring's DataSourceTransactionManager). This can be convenient if you need a different local transaction strategy for another O/R mapping tool, for example, but still want Hibernate access to join into those transactions.

  A further benefit of this option is that plain Sessions opened directly via the SessionFactory, outside of Spring's Hibernate support, will still participate in active Spring-managed transactions.

  As a further effect, using a transaction-aware DataSource will apply remaining transaction timeouts to all created JDBC Statements. This means that all operations performed by the SessionFactory will automatically participate in Spring-managed transaction timeouts, not just queries. This adds value even for HibernateTransactionManager.

  WARNING: Be aware of side effects when using a transaction-aware DataSource in combination with OpenSessionInViewFilter/Interceptor. This combination is only properly supported with HibernateTransactionManager transactions. PROPAGATION_SUPPORTS with HibernateTransactionManager and JtaTransactionManager in general are only supported on Hibernate3, which introduces (optional) aggressive release of Connections.

  See Also:
    `setDataSource(javax.sql.DataSource)`, `TransactionAwareDataSourceProxy`, `DataSourceTransactionManager`, `OpenSessionInViewFilter`, `OpenSessionInViewInterceptor`, `HibernateTransactionManager`, `JtaTransactionManager`, `LocalSessionFactoryBean.setUseTransactionAwareDataSource(boolean)`

### setJtaTransactionManager

    public void setJtaTransactionManager(TransactionManager jtaTransactionManager)

  Set the JTA TransactionManager to be used for Hibernate's TransactionManagerLookup. If set, this will override corresponding settings in Hibernate properties. Allows to use a Spring-managed JTA TransactionManager for Hibernate's cache synchronization.

  Note: If this is set, the Hibernate settings should not define a transaction manager lookup to avoid meaningless double configuration.

  See Also:
    `LocalTransactionManagerLookup`

### setLobHandler

    public void setLobHandler(LobHandler lobHandler)

  Set the LobHandler to be used by the SessionFactory. Will be exposed at config time for UserType implementations.

  See Also:
    `getConfigTimeLobHandler()`, `UserType`, `ClobStringType`, `BlobByteArrayType`, `BlobSerializableType`

### 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 factory.

  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:
    `HibernateAccessor.setEntityInterceptor(net.sf.hibernate.Interceptor)`, `HibernateAccessor.setEntityInterceptor(net.sf.hibernate.Interceptor)`, `HibernateTransactionManager.setEntityInterceptor(net.sf.hibernate.Interceptor)`, `Configuration.setInterceptor(net.sf.hibernate.Interceptor)`

### setNamingStrategy

    public void setNamingStrategy(net.sf.hibernate.cfg.NamingStrategy namingStrategy)

  Set a Hibernate NamingStrategy for the SessionFactory, determining the physical column and table names given the info in the mapping document.

  See Also:
    `Configuration.setNamingStrategy(net.sf.hibernate.cfg.NamingStrategy)`

### setSchemaUpdate

    public void setSchemaUpdate(boolean schemaUpdate)

  Set whether to execute a schema update after SessionFactory initialization.

  For details on how to make schema update scripts work, see the Hibernate documentation, as this class leverages the same schema update script support in net.sf.hibernate.cfg.Configuration as Hibernate's own SchemaUpdate tool.

  See Also:
    `Configuration.generateSchemaUpdateScript(net.sf.hibernate.dialect.Dialect, net.sf.hibernate.tool.hbm2ddl.DatabaseMetadata)`, `SchemaUpdate`

### afterPropertiesSet

    public void afterPropertiesSet()
                            throws IllegalArgumentException,
                                   net.sf.hibernate.HibernateException,
                                   IOException

  Initialize the SessionFactory for the given or the default location.

  Specified by:
    `afterPropertiesSet` in interface `InitializingBean`
  Throws:
    `IllegalArgumentException` - in case of illegal property values
    `net.sf.hibernate.HibernateException` - in case of Hibernate initialization errors
    `IOException`

### newConfiguration

    protected net.sf.hibernate.cfg.Configuration newConfiguration()
                                                           throws net.sf.hibernate.HibernateException

  Subclasses can override this method to perform custom initialization of the Configuration instance used for SessionFactory creation. The properties of this LocalSessionFactoryBean will be applied to the Configuration object that gets returned here.

  The default implementation creates a new Configuration instance. A custom implementation could prepare the instance in a specific way, or use a custom Configuration subclass.

  Returns:
    the Configuration instance
  Throws:
    `net.sf.hibernate.HibernateException` - in case of Hibernate initialization errors
  See Also:
    `Configuration.Configuration()`

### postProcessConfiguration

    protected void postProcessConfiguration(net.sf.hibernate.cfg.Configuration config)
                                     throws net.sf.hibernate.HibernateException

  To be implemented by subclasses that want to to perform custom post-processing of the Configuration object after this FactoryBean performed its default initialization.

  Parameters:
    `config` - the current Configuration object
  Throws:
    `net.sf.hibernate.HibernateException` - in case of Hibernate initialization errors

### newSessionFactory

    protected net.sf.hibernate.SessionFactory newSessionFactory(net.sf.hibernate.cfg.Configuration config)
                                                         throws net.sf.hibernate.HibernateException

  Subclasses can override this method to perform custom initialization of the SessionFactory instance, creating it via the given Configuration object that got prepared by this LocalSessionFactoryBean.

  The default implementation invokes Configuration's buildSessionFactory. A custom implementation could prepare the instance in a specific way, or use a custom SessionFactoryImpl subclass.

  Parameters:
    `config` - Configuration prepared by this LocalSessionFactoryBean
  Returns:
    the SessionFactory instance
  Throws:
    `net.sf.hibernate.HibernateException` - in case of Hibernate initialization errors
  See Also:
    `Configuration.buildSessionFactory()`

### dropDatabaseSchema

    public void dropDatabaseSchema()
                            throws DataAccessException

  Execute schema drop script, determined by the Configuration object used for creating the SessionFactory. A replacement for Hibernate's SchemaExport class, to be invoked on application setup.

  Fetch the LocalSessionFactoryBean itself rather than the exposed SessionFactory to be able to invoke this method, e.g. via `LocalSessionFactoryBean lsfb = (LocalSessionFactoryBean) ctx.getBean("&mySessionFactory");`.

  Uses the SessionFactory that this bean generates for accessing a JDBC connection to perform the script.

  Throws:
    `DataAccessException` - in case of script execution errors
  See Also:
    `Configuration.generateDropSchemaScript(net.sf.hibernate.dialect.Dialect)`, `SchemaExport.drop(boolean, boolean)`

### createDatabaseSchema

    public void createDatabaseSchema()
                              throws DataAccessException

  Execute schema creation script, determined by the Configuration object used for creating the SessionFactory. A replacement for Hibernate's SchemaExport class, to be invoked on application setup.

  Fetch the LocalSessionFactoryBean itself rather than the exposed SessionFactory to be able to invoke this method, e.g. via `LocalSessionFactoryBean lsfb = (LocalSessionFactoryBean) ctx.getBean("&mySessionFactory");`.

  Uses the SessionFactory that this bean generates for accessing a JDBC connection to perform the script.

  Throws:
    `DataAccessException` - in case of script execution errors
  See Also:
    `Configuration.generateSchemaCreationScript(net.sf.hibernate.dialect.Dialect)`, `SchemaExport.create(boolean, boolean)`

### updateDatabaseSchema

    public void updateDatabaseSchema()
                              throws DataAccessException

  Execute schema update script, determined by the Configuration object used for creating the SessionFactory. A replacement for Hibernate's SchemaUpdate class, for automatically executing schema update scripts on application startup. Can also be invoked manually.

  Fetch the LocalSessionFactoryBean itself rather than the exposed SessionFactory to be able to invoke this method, e.g. via `LocalSessionFactoryBean lsfb = (LocalSessionFactoryBean) ctx.getBean("&mySessionFactory");`.

  Uses the SessionFactory that this bean generates for accessing a JDBC connection to perform the script.

  Throws:
    `DataAccessException` - in case of script execution errors
  See Also:
    `setSchemaUpdate(boolean)`, `Configuration.generateSchemaUpdateScript(net.sf.hibernate.dialect.Dialect, net.sf.hibernate.tool.hbm2ddl.DatabaseMetadata)`, `SchemaUpdate`

### executeSchemaScript

    protected void executeSchemaScript(Connection con,
                                       String[] sql)
                                throws SQLException

  Execute the given schema script on the given JDBC Connection.

  Note that the default implementation will log unsuccessful statements and continue to execute. Override the `executeSchemaStatement` method to treat failures differently.

  Parameters:
    `con` - the JDBC Connection to execute the script on
    `sql` - the SQL statements to execute
  Throws:
    `SQLException` - if thrown by JDBC methods
  See Also:
    `executeSchemaStatement(java.sql.Statement, java.lang.String)`

### executeSchemaStatement

    protected void executeSchemaStatement(Statement stmt,
                                          String sql)
                                   throws SQLException

  Execute the given schema SQL on the given JDBC Statement.

  Note that the default implementation will log unsuccessful statements and continue to execute. Override this method to treat failures differently.

  Parameters:
    `stmt` - the JDBC Statement to execute the SQL on
    `sql` - the SQL statement to execute
  Throws:
    `SQLException` - if thrown by JDBC methods (and considered fatal)

### getConfiguration

    public net.sf.hibernate.cfg.Configuration getConfiguration()

  Return the Configuration object used to build the SessionFactory. Allows access to configuration metadata stored there (rarely needed).

### getObject

    public Object getObject()

  Return the singleton SessionFactory.

  Specified by:
    `getObject` in interface `FactoryBean`
  Returns:
    an instance of the bean (can be `null`)
  See Also:
    `FactoryBeanNotInitializedException`

### getObjectType

    public Class getObjectType()

  Description copied from interface: `FactoryBean`
  Return the type of object that this FactoryBean creates, or `null` if not known in advance.

  This allows one to check for specific types of beans without instantiating objects, for example on autowiring.

  In the case of implementations that are creating a singleton object, this method should try to avoid singleton creation as far as possible; it should rather estimate the type in advance. For prototypes, returning a meaningful type here is advisable too.

  This method can be called before this FactoryBean has been fully initialized. It must not rely on state created during initialization; of course, it can still use such state if available.

  NOTE: Autowiring will simply ignore FactoryBeans that return `null` here. Therefore it is highly recommended to implement this method properly, using the current state of the FactoryBean.

  Specified by:
    `getObjectType` in interface `FactoryBean`
  Returns:
    the type of object that this FactoryBean creates, or `null` if not known at the time of the call
  See Also:
    `ListableBeanFactory.getBeansOfType(java.lang.Class)`

### isSingleton

    public boolean isSingleton()

  Description copied from interface: `FactoryBean`
  Is the object managed by this factory a singleton? That is, will `FactoryBean.getObject()` always return the same object (a reference that can be cached)?

  NOTE: If a FactoryBean indicates to hold a singleton object, the object returned from `getObject()` might get cached by the owning BeanFactory. Hence, do not return `true` unless the FactoryBean always exposes the same reference.

  The singleton status of the FactoryBean itself will generally be provided by the owning BeanFactory; usually, it has to be defined as singleton there.

  NOTE: This method returning `false` does not necessarily indicate that returned objects are independent instances. An implementation of the extended `SmartFactoryBean` interface may explicitly indicate independent instances through its `SmartFactoryBean.isPrototype()` method. Plain `FactoryBean` implementations which do not implement this extended interface are simply assumed to always return independent instances if the `isSingleton()` implementation returns `false`.

  Specified by:
    `isSingleton` in interface `FactoryBean`
  Returns:
    whether the exposed object is a singleton
  See Also:
    `FactoryBean.getObject()`, `SmartFactoryBean.isPrototype()`

### destroy

    public void destroy()
                 throws net.sf.hibernate.HibernateException

  Close the SessionFactory on bean factory shutdown.

  Specified by:
    `destroy` in interface `DisposableBean`
  Throws:
    `net.sf.hibernate.HibernateException`

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.