|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.orm.hibernate3.SessionFactoryBuilderSupport<AnnotationSessionFactoryBuilder>
org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBuilder
public class AnnotationSessionFactoryBuilder
Hibernate AnnotationConfiguration builder suitable for use within Spring
@Configuration
class @Bean methods. For complete details on features, see the
JavaDoc for the SessionFactoryBuilderSupport superclass. For use in
Spring XML configuration, see the AnnotationSessionFactoryBean subclass.
As noted in SessionFactoryBuilderSupport JavaDoc, this class requires
Hibernate 3.2 or later; it additionally requires that the Java Persistence API
and Hibernate Annotations add-ons are present.
Setter methods return the builder instance in order to facilitate a concise and convenient method-chaining style. For example:
@Configurationpublic class DataConfig {@Beanpublic SessionFactory sessionFactory() { return new AnnotationSessionFactoryBuilder() .setDataSource(dataSource()) .setPackagesToScan("com.myco"}) .buildSessionFactory(); } }
Most Hibernate configuration operations can be performed directly against
this API; however you may also access access and configure the underlying
AnnotationConfiguration object by using the SessionFactoryBuilderSupport.doWithConfiguration(org.springframework.orm.hibernate3.HibernateConfigurationCallback
method and providing a HibernateConfigurationCallback as follows:
SessionFactory sessionFactory =
new AnnotationSessionFactoryBuilder()
// ...
.doWithConfiguration(new HibernateConfigurationCallback<AnnotationConfiguration>() {
public void configure(AnnotationConfiguration cfg) {
cfg.addAnnotatedClass(Foo.class);
}
})
.buildSessionFactory();
SessionFactoryBuilderSupport,
SessionFactoryBuilder,
AnnotationSessionFactoryBean| Field Summary |
|---|
| Fields inherited from class org.springframework.orm.hibernate3.SessionFactoryBuilderSupport |
|---|
logger |
| Constructor Summary | |
|---|---|
AnnotationSessionFactoryBuilder()
Construct a new AnnotationSessionFactoryBuilder |
|
AnnotationSessionFactoryBuilder(DataSource dataSource)
Construct a new AnnotationSessionFactoryBuilder with the given
Spring-managed DataSource instance. |
|
| Method Summary | |
|---|---|
protected Class<? extends org.hibernate.cfg.Configuration> |
getDefaultConfigurationClass()
Return the default Configuration type used by this instance. |
protected void |
postProcessAnnotationConfiguration()
To be implemented by subclasses which want to to perform custom post-processing of the AnnotationConfiguration object after this FactoryBean performed its default initialization. |
protected void |
postProcessConfiguration()
Delegates to postProcessAnnotationConfiguration(). |
protected void |
postProcessMappings()
Reads metadata from annotated classes and packages into the AnnotationConfiguration instance. |
protected void |
scanPackages()
Perform Spring-based scanning for entity classes. |
AnnotationSessionFactoryBuilder |
setAnnotatedClasses(Class<?>... annotatedClasses)
Specify annotated classes, for which mappings will be read from class-level JDK 1.5+ annotation metadata. |
AnnotationSessionFactoryBuilder |
setAnnotatedPackages(String... annotatedPackages)
Specify the names of annotated packages, for which package-level JDK 1.5+ annotation metadata will be read. |
AnnotationSessionFactoryBuilder |
setEntityTypeFilters(TypeFilter... entityTypeFilters)
Specify custom type filters for Spring-based scanning for entity classes. |
AnnotationSessionFactoryBuilder |
setPackagesToScan(String... packagesToScan)
Set whether to use Spring-based scanning for entity classes in the classpath instead of listing annotated classes explicitly. |
AnnotationSessionFactoryBuilder |
setResourcePatternResolver(ResourcePatternResolver resourcePatternResolver)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public AnnotationSessionFactoryBuilder()
AnnotationSessionFactoryBuilder
public AnnotationSessionFactoryBuilder(DataSource dataSource)
AnnotationSessionFactoryBuilder with the given
Spring-managed DataSource instance.
SessionFactoryBuilderSupport.setDataSource(javax.sql.DataSource)| Method Detail |
|---|
protected Class<? extends org.hibernate.cfg.Configuration> getDefaultConfigurationClass()
SessionFactoryBuilderSupport.setConfigurationClass(Class).
This implementation returns Configuration if
Hibernate 3.6 or greater is available on the runtime classpath, otherwise
AnnotationConfiguration. This accommodates
the consolidation of these two types and deprecation of the latter in
Hibernate 3.6.
getDefaultConfigurationClass in class SessionFactoryBuilderSupport<AnnotationSessionFactoryBuilder>SessionFactoryBuilderSupport.doWithConfiguration(org.springframework.orm.hibernate3.HibernateConfigurationCallback) public AnnotationSessionFactoryBuilder setPackagesToScan(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 AnnotationSessionFactoryBuilder setAnnotatedClasses(Class<?>... annotatedClasses)
AnnotationConfiguration.addAnnotatedClass(java.lang.Class)public AnnotationSessionFactoryBuilder setAnnotatedPackages(String... annotatedPackages)
AnnotationConfiguration.addPackage(java.lang.String)public AnnotationSessionFactoryBuilder 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.
setPackagesToScan(java.lang.String...)public AnnotationSessionFactoryBuilder setResourcePatternResolver(ResourcePatternResolver resourcePatternResolver)
protected void scanPackages()
setPackagesToScan(java.lang.String...)
protected void postProcessMappings()
throws org.hibernate.HibernateException
postProcessMappings in class SessionFactoryBuilderSupport<AnnotationSessionFactoryBuilder>org.hibernate.HibernateException - in case of Hibernate initialization errorsConfiguration.buildMappings()
protected void postProcessConfiguration()
throws org.hibernate.HibernateException
postProcessAnnotationConfiguration().
postProcessConfiguration in class SessionFactoryBuilderSupport<AnnotationSessionFactoryBuilder>org.hibernate.HibernateException - in case of Hibernate initialization errorsConfiguration.buildMappings()
protected void postProcessAnnotationConfiguration()
throws org.hibernate.HibernateException
Note: As of Hibernate 3.6, AnnotationConfiguration's features
have been rolled into Configuration itself. Simply overriding
#postProcessConfiguration(org.hibernate.cfg.Configuration)
becomes an option as well then.
config - the current AnnotationConfiguration object
org.hibernate.HibernateException - in case of Hibernate initialization errors
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||