|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.hibernate.cfg.Configuration org.springframework.orm.hibernate4.LocalSessionFactoryBuilder
public class LocalSessionFactoryBuilder
A Spring-provided extension of the standard Hibernate Configuration
class,
adding SpringSessionContext
as a default and providing convenient ways
to specify a DataSource and an application class loader.
This is designed for programmatic use, e.g. in @Bean
factory methods.
Consider using LocalSessionFactoryBean
for XML bean definition files.
NOTE: To set up Hibernate 4 for Spring-driven JTA transactions, make
sure to either use the setJtaTransactionManager(java.lang.Object)
method or to set the
"hibernate.transaction.factory_class" property to CMTTransactionFactory
.
Otherwise, Hibernate's smart flushing mechanism won't work properly.
LocalSessionFactoryBean
,
Serialized FormNested Class Summary |
---|
Nested classes/interfaces inherited from class org.hibernate.cfg.Configuration |
---|
Configuration.MappingsImpl, Configuration.MetadataSourceQueue |
Field Summary |
---|
Constructor Summary | |
---|---|
LocalSessionFactoryBuilder(DataSource dataSource)
Create a new LocalSessionFactoryBuilder for the given DataSource. |
|
LocalSessionFactoryBuilder(DataSource dataSource,
ClassLoader classLoader)
Create a new LocalSessionFactoryBuilder for the given DataSource. |
|
LocalSessionFactoryBuilder(DataSource dataSource,
ResourceLoader resourceLoader)
Create a new LocalSessionFactoryBuilder for the given DataSource. |
Method Summary | |
---|---|
LocalSessionFactoryBuilder |
addAnnotatedClasses(Class<?>... annotatedClasses)
Add the given annotated classes in a batch. |
LocalSessionFactoryBuilder |
addPackages(String... annotatedPackages)
Add the given annotated packages in a batch. |
SessionFactory |
buildSessionFactory()
Build the SessionFactory . |
LocalSessionFactoryBuilder |
scanPackages(String... packagesToScan)
Perform Spring-based scanning for entity classes, registering them as annotated classes with this Configuration . |
LocalSessionFactoryBuilder |
setJtaTransactionManager(Object jtaTransactionManager)
Set the Spring JtaTransactionManager or the JTA TransactionManager
to be used with Hibernate, if any. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public LocalSessionFactoryBuilder(DataSource dataSource)
dataSource
- the JDBC DataSource that the resulting Hibernate SessionFactory should be using
(may be null
)public LocalSessionFactoryBuilder(DataSource dataSource, ClassLoader classLoader)
dataSource
- the JDBC DataSource that the resulting Hibernate SessionFactory should be using
(may be null
)classLoader
- the ClassLoader to load application classes frompublic LocalSessionFactoryBuilder(DataSource dataSource, ResourceLoader resourceLoader)
dataSource
- the JDBC DataSource that the resulting Hibernate SessionFactory should be using
(may be null
)resourceLoader
- the ResourceLoader to load application classes fromMethod Detail |
---|
public LocalSessionFactoryBuilder setJtaTransactionManager(Object jtaTransactionManager)
JtaTransactionManager
or the JTA TransactionManager
to be used with Hibernate, if any. Allows for using a Spring-managed transaction
manager for Hibernate 4's session and cache synchronization, with the
"hibernate.transaction.jta.platform" automatically set to it. Also sets
"hibernate.transaction.factory_class" to CMTTransactionFactory
,
instructing Hibernate to interact with externally managed transactions.
A passed-in Spring JtaTransactionManager
needs to contain a JTA
TransactionManager
reference to be usable here, except for the WebSphere
case where we'll automatically set WebSphereExtendedJtaPlatform
accordingly.
Note: If this is set, the Hibernate settings should not contain a JTA platform setting to avoid meaningless double configuration.
public LocalSessionFactoryBuilder addAnnotatedClasses(Class<?>... annotatedClasses)
Configuration.addAnnotatedClass(java.lang.Class)
,
scanPackages(java.lang.String...)
public LocalSessionFactoryBuilder addPackages(String... annotatedPackages)
Configuration.addPackage(java.lang.String)
,
scanPackages(java.lang.String...)
public LocalSessionFactoryBuilder scanPackages(String... packagesToScan) throws HibernateException
Configuration
.
packagesToScan
- one or more Java package names
HibernateException
- if scanning fails for any reasonpublic SessionFactory buildSessionFactory() throws HibernateException
SessionFactory
.
buildSessionFactory
in class Configuration
HibernateException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |