public class LocalSessionFactoryBuilder extends Configuration
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 FormConfiguration.MappingsImpl, Configuration.MetadataSourceQueueARTEFACT_PROCESSING_ORDER, auxiliaryDatabaseObjects, classes, collections, columnNameBindingPerTable, DEFAULT_ARTEFACT_PROCESSING_ORDER, DEFAULT_CACHE_CONCURRENCY_STRATEGY, extendsQueue, fetchProfiles, filterDefinitions, imports, metadataSourceQueue, namedQueries, namedSqlQueries, namingStrategy, propertyReferences, secondPasses, settingsFactory, sqlFunctions, sqlResultSetMappings, tableNameBinding, tables, typeDefs, USE_NEW_ID_GENERATOR_MAPPINGS, xmlHelper| Constructor and Description |
|---|
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.
|
| Modifier and Type | Method and Description |
|---|---|
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. |
add, addAnnotatedClass, addAuxiliaryDatabaseObject, addCacheableFile, addCacheableFile, addCacheableFileStrictly, addClass, addDirectory, addDocument, addFetchProfile, addFile, addFile, addFilterDefinition, addInputStream, addJar, addPackage, addProperties, addResource, addResource, addSqlFunction, addURL, addXML, buildMapping, buildMappings, buildSessionFactory, buildSettings, buildSettings, configure, configure, configure, configure, configure, createMappings, doConfigure, doConfigure, findPossibleExtends, generateDropSchemaScript, generateSchemaCreationScript, generateSchemaUpdateScript, getClassMapping, getClassMappings, getCollectionMapping, getCollectionMappings, getConfigurationInputStream, getCurrentTenantIdentifierResolver, getEntityNotFoundDelegate, getEntityResolver, getEntityTuplizerFactory, getFilterDefinitions, getIdentifierGeneratorFactory, getImports, getInterceptor, getMappedSuperclassMappings, getNamedQueries, getNamedSQLQueries, getNamingStrategy, getProperties, getProperty, getReflectionManager, getSessionFactoryObserver, getSqlFunctions, getSqlResultSetMappings, getTableMappings, getTypeResolver, iterateFetchProfiles, mergeProperties, registerTypeOverride, registerTypeOverride, registerTypeOverride, reset, secondPassCompile, secondPassCompileForeignKeys, setCacheConcurrencyStrategy, setCacheConcurrencyStrategy, setCacheConcurrencyStrategy, setCollectionCacheConcurrencyStrategy, setCollectionCacheConcurrencyStrategy, setCurrentTenantIdentifierResolver, setEntityNotFoundDelegate, setEntityResolver, setInterceptor, setNamingStrategy, setPrecedence, setProperties, setProperty, setSessionFactoryObserver, validateSchemapublic 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 frompublic 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)
public LocalSessionFactoryBuilder addPackages(String... annotatedPackages)
public LocalSessionFactoryBuilder scanPackages(String... packagesToScan) throws HibernateException
Configuration.packagesToScan - one or more Java package namesHibernateException - if scanning fails for any reasonpublic SessionFactory buildSessionFactory() throws HibernateException
SessionFactory.buildSessionFactory in class ConfigurationHibernateException