public class AnnotationSessionFactoryBean extends LocalSessionFactoryBean implements ResourceLoaderAware
Note: As of Spring 4.0, this class requires Hibernate 3.6 or later, with the Java Persistence API present.
Example for an AnnotationSessionFactoryBean bean definition:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="annotatedClasses">
<list>
<value>test.package.Foo</value>
<value>test.package.Bar</value>
</list>
</property>
</bean>
Or when using classpath scanning for autodetection of entity classes:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="packagesToScan" value="test.package"/> </bean>
AbstractSessionFactoryBean.setDataSource(javax.sql.DataSource),
LocalSessionFactoryBean.setHibernateProperties(java.util.Properties),
setAnnotatedClasses(java.lang.Class[]),
setAnnotatedPackages(java.lang.String[])logger| Constructor and Description |
|---|
AnnotationSessionFactoryBean() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
postProcessMappings(Configuration config)
Reads metadata from annotated classes and packages into the
AnnotationConfiguration instance.
|
protected void |
scanPackages(Configuration config)
Perform Spring-based scanning for entity classes.
|
void |
setAnnotatedClasses(java.lang.Class[] annotatedClasses)
Specify annotated classes, for which mappings will be read from
class-level JDK 1.5+ annotation metadata.
|
void |
setAnnotatedPackages(java.lang.String[] annotatedPackages)
Specify the names of annotated packages, for which package-level
JDK 1.5+ annotation metadata will be read.
|
void |
setEntityTypeFilters(TypeFilter[] entityTypeFilters)
Specify custom type filters for Spring-based scanning for entity classes.
|
void |
setPackagesToScan(java.lang.String[] packagesToScan)
Specify packages to search using Spring-based scanning for entity classes in
the classpath.
|
void |
setResourceLoader(ResourceLoader resourceLoader)
Set the ResourceLoader that this object runs in.
|
afterSessionFactoryCreation, buildSessionFactory, createDatabaseSchema, destroy, dropDatabaseSchema, executeSchemaScript, executeSchemaStatement, getConfigTimeDataSource, getConfigTimeLobHandler, getConfigTimeTransactionManager, getConfiguration, getHibernateProperties, newConfiguration, newSessionFactory, postProcessConfiguration, setBeanClassLoader, setCacheableMappingLocations, setCacheRegionFactory, setCollectionCacheStrategies, setConfigLocation, setConfigLocations, setConfigurationClass, setEntityCacheStrategies, setEntityInterceptor, setEventListeners, setFilterDefinitions, setHibernateProperties, setJtaTransactionManager, setLobHandler, setMappingDirectoryLocations, setMappingJarLocations, setMappingLocations, setMappingResources, setNamingStrategy, setSchemaUpdate, setTypeDefinitions, updateDatabaseSchema, validateDatabaseSchemaafterPropertiesSet, beforeSessionFactoryDestruction, getDataSource, getObject, getObjectType, getSessionFactory, isExposeTransactionAwareSessionFactory, isSingleton, isUseTransactionAwareDataSource, setDataSource, setExposeTransactionAwareSessionFactory, setUseTransactionAwareDataSource, wrapSessionFactoryIfNecessaryconvertHibernateAccessException, setJdbcExceptionTranslator, translateExceptionIfPossiblepublic void setAnnotatedClasses(java.lang.Class[] annotatedClasses)
public void setAnnotatedPackages(java.lang.String[] annotatedPackages)
Configuration.addPackage(String)public void setPackagesToScan(java.lang.String[] packagesToScan)
Default is none. Specify packages to search for autodetection of your entity
classes in the classpath. This is analogous to Spring's component-scan feature
(ClassPathBeanDefinitionScanner).
public void setEntityTypeFilters(TypeFilter[] entityTypeFilters)
Default is to search all specified packages for classes annotated with
@javax.persistence.Entity, @javax.persistence.Embeddable
or @javax.persistence.MappedSuperclass, as well as for
Hibernate's special @org.hibernate.annotations.Entity.
public void setResourceLoader(ResourceLoader resourceLoader)
ResourceLoaderAwareThis might be a ResourcePatternResolver, which can be checked
through instanceof ResourcePatternResolver. See also the
ResourcePatternUtils.getResourcePatternResolver method.
Invoked after population of normal bean properties but before an init callback
like InitializingBean's afterPropertiesSet or a custom init-method.
Invoked before ApplicationContextAware's setApplicationContext.
setResourceLoader in interface ResourceLoaderAwareresourceLoader - ResourceLoader object to be used by this objectResourcePatternResolver,
ResourcePatternUtils.getResourcePatternResolver(org.springframework.core.io.ResourceLoader)protected void postProcessMappings(Configuration config) throws HibernateException
postProcessMappings in class LocalSessionFactoryBeanconfig - the current Configuration objectHibernateException - in case of Hibernate initialization errorsConfiguration.buildMappings()protected void scanPackages(Configuration config)