|
spring-orm | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.orm.hibernate4.HibernateExceptionTranslator
org.springframework.orm.hibernate4.LocalSessionFactoryBean
public class LocalSessionFactoryBean
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 data access objects via dependency injection.
NOTE: This variant of LocalSessionFactoryBean requires Hibernate 4.0 or higher.
It is similar in role to the same-named class in the orm.hibernate3
package.
However, in practice, it is closer to AnnotationSessionFactoryBean
since
its core purpose is to bootstrap a SessionFactory
from annotation scanning.
setDataSource(javax.sql.DataSource)
,
setPackagesToScan(java.lang.String...)
Constructor Summary | |
---|---|
LocalSessionFactoryBean()
|
Method Summary | |
---|---|
void |
afterPropertiesSet()
|
protected org.hibernate.SessionFactory |
buildSessionFactory(LocalSessionFactoryBuilder sfb)
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. |
void |
destroy()
|
org.hibernate.cfg.Configuration |
getConfiguration()
Return the Hibernate Configuration object used to build the SessionFactory. |
java.util.Properties |
getHibernateProperties()
Return the Hibernate properties, if any. |
org.hibernate.SessionFactory |
getObject()
|
java.lang.Class<?> |
getObjectType()
|
boolean |
isSingleton()
|
void |
setAnnotatedClasses(java.lang.Class<?>[] annotatedClasses)
Specify annotated entity classes to register with this Hibernate SessionFactory. |
void |
setAnnotatedPackages(java.lang.String[] annotatedPackages)
Specify the names of annotated packages, for which package-level annotation metadata will be read. |
void |
setCacheableMappingLocations(org.springframework.core.io.Resource[] cacheableMappingLocations)
Set locations of cacheable Hibernate mapping files, for example as web app resource "/WEB-INF/mapping/example.hbm.xml". |
void |
setConfigLocation(org.springframework.core.io.Resource configLocation)
Set the location of a single Hibernate XML config file, for example as classpath resource "classpath:hibernate.cfg.xml". |
void |
setConfigLocations(org.springframework.core.io.Resource[] configLocations)
Set the locations of multiple Hibernate XML config files, for example as classpath resources "classpath:hibernate.cfg.xml,classpath:extension.cfg.xml". |
void |
setDataSource(javax.sql.DataSource dataSource)
Set the DataSource to be used by the SessionFactory. |
void |
setEntityInterceptor(org.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(java.util.Properties hibernateProperties)
Set Hibernate properties, such as "hibernate.dialect". |
void |
setMappingDirectoryLocations(org.springframework.core.io.Resource[] mappingDirectoryLocations)
Set locations of directories that contain Hibernate mapping resources, like "WEB-INF/mappings". |
void |
setMappingJarLocations(org.springframework.core.io.Resource[] mappingJarLocations)
Set locations of jar files that contain Hibernate mapping resources, like "WEB-INF/lib/example.hbm.jar". |
void |
setMappingLocations(org.springframework.core.io.Resource[] mappingLocations)
Set locations of Hibernate mapping files, for example as classpath resource "classpath:example.hbm.xml". |
void |
setMappingResources(java.lang.String[] mappingResources)
Set Hibernate mapping resources to be found in the class path, like "example.hbm.xml" or "mypackage/example.hbm.xml". |
void |
setNamingStrategy(org.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 |
setPackagesToScan(java.lang.String... packagesToScan)
Specify packages to search for autodetection of your entity classes in the classpath. |
void |
setResourceLoader(org.springframework.core.io.ResourceLoader resourceLoader)
|
Methods inherited from class org.springframework.orm.hibernate4.HibernateExceptionTranslator |
---|
convertHibernateAccessException, translateExceptionIfPossible |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public LocalSessionFactoryBean()
Method Detail |
---|
public void setDataSource(javax.sql.DataSource dataSource)
If this is set, the Hibernate settings should not define a connection provider to avoid meaningless double configuration.
public void setConfigLocation(org.springframework.core.io.Resource configLocation)
Note: Can be omitted when all necessary properties and mapping resources are specified locally via this bean.
Configuration.configure(java.net.URL)
public void setConfigLocations(org.springframework.core.io.Resource[] configLocations)
Note: Can be omitted when all necessary properties and mapping resources are specified locally via this bean.
Configuration.configure(java.net.URL)
public void setMappingResources(java.lang.String[] mappingResources)
Can be used to add to mappings from a Hibernate XML config file, or to specify all mappings locally.
setMappingLocations(org.springframework.core.io.Resource[])
,
Configuration.addResource(java.lang.String, java.lang.ClassLoader)
public void setMappingLocations(org.springframework.core.io.Resource[] mappingLocations)
Can be used to add to mappings from a Hibernate XML config file, or to specify all mappings locally.
Configuration.addInputStream(java.io.InputStream)
public void setCacheableMappingLocations(org.springframework.core.io.Resource[] cacheableMappingLocations)
Can be used to add to mappings from a Hibernate XML config file, or to specify all mappings locally.
Configuration.addCacheableFile(java.io.File)
public void setMappingJarLocations(org.springframework.core.io.Resource[] mappingJarLocations)
Can be used to add to mappings from a Hibernate XML config file, or to specify all mappings locally.
Configuration.addJar(java.io.File)
public void setMappingDirectoryLocations(org.springframework.core.io.Resource[] mappingDirectoryLocations)
Can be used to add to mappings from a Hibernate XML config file, or to specify all mappings locally.
Configuration.addDirectory(java.io.File)
public void setEntityInterceptor(org.hibernate.Interceptor entityInterceptor)
Configuration.setInterceptor(org.hibernate.Interceptor)
public void setNamingStrategy(org.hibernate.cfg.NamingStrategy namingStrategy)
Configuration.setNamingStrategy(org.hibernate.cfg.NamingStrategy)
public void setHibernateProperties(java.util.Properties hibernateProperties)
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.
setDataSource(javax.sql.DataSource)
public java.util.Properties getHibernateProperties()
public void setAnnotatedClasses(java.lang.Class<?>[] annotatedClasses)
org.hibernate.cfg.Configuration#addAnnotatedClass(Class)
public void setAnnotatedPackages(java.lang.String[] annotatedPackages)
org.hibernate.cfg.Configuration#addPackage(String)
public void setPackagesToScan(java.lang.String... packagesToScan)
org.springframework.context.annotation.ClassPathBeanDefinitionScanner
).
public void setResourceLoader(org.springframework.core.io.ResourceLoader resourceLoader)
setResourceLoader
in interface org.springframework.context.ResourceLoaderAware
public void afterPropertiesSet() throws java.io.IOException
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
java.io.IOException
protected org.hibernate.SessionFactory buildSessionFactory(LocalSessionFactoryBuilder sfb)
The default implementation invokes LocalSessionFactoryBuilder's buildSessionFactory. A custom implementation could prepare the instance in a specific way (e.g. applying a custom ServiceRegistry) or use a custom SessionFactoryImpl subclass.
sfb
- LocalSessionFactoryBuilder prepared by this LocalSessionFactoryBean
LocalSessionFactoryBuilder.buildSessionFactory()
public final org.hibernate.cfg.Configuration getConfiguration()
java.lang.IllegalStateException
- if the Configuration object has not been initialized yetpublic org.hibernate.SessionFactory getObject()
getObject
in interface org.springframework.beans.factory.FactoryBean<org.hibernate.SessionFactory>
public java.lang.Class<?> getObjectType()
getObjectType
in interface org.springframework.beans.factory.FactoryBean<org.hibernate.SessionFactory>
public boolean isSingleton()
isSingleton
in interface org.springframework.beans.factory.FactoryBean<org.hibernate.SessionFactory>
public void destroy()
destroy
in interface org.springframework.beans.factory.DisposableBean
|
spring-orm | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |