org.springframework.orm.hibernate4
Class LocalSessionFactoryBuilder

java.lang.Object
  extended by Configuration
      extended by org.springframework.orm.hibernate4.LocalSessionFactoryBuilder

public class LocalSessionFactoryBuilder
extends Configuration

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.

Since:
3.1
Author:
Juergen Hoeller
See Also:
LocalSessionFactoryBean

Field Summary
private static java.lang.reflect.Method addAnnotatedClassMethod
           
private static java.lang.reflect.Method addPackageMethod
           
private static TypeFilter[] ENTITY_TYPE_FILTERS
           
private static java.lang.String RESOURCE_PATTERN
           
private  ResourcePatternResolver resourcePatternResolver
           
 
Constructor Summary
LocalSessionFactoryBuilder(javax.sql.DataSource dataSource)
          Create a new LocalSessionFactoryBuilder for the given DataSource.
LocalSessionFactoryBuilder(javax.sql.DataSource dataSource, java.lang.ClassLoader classLoader)
          Create a new LocalSessionFactoryBuilder for the given DataSource.
LocalSessionFactoryBuilder(javax.sql.DataSource dataSource, ResourceLoader resourceLoader)
          Create a new LocalSessionFactoryBuilder for the given DataSource.
 
Method Summary
 LocalSessionFactoryBuilder addAnnotatedClasses(java.lang.Class<?>... annotatedClasses)
          Add the given annotated classes in a batch.
 LocalSessionFactoryBuilder addPackages(java.lang.String... annotatedPackages)
          Add the given annotated packages in a batch.
 SessionFactory buildSessionFactory()
          Build the SessionFactory.
private  boolean matchesFilter(MetadataReader reader, MetadataReaderFactory readerFactory)
          Check whether any of the configured entity type filters matches the current class descriptor contained in the metadata reader.
 LocalSessionFactoryBuilder scanPackages(java.lang.String... packagesToScan)
          Perform Spring-based scanning for entity classes, registering them as annotated classes with this Configuration.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RESOURCE_PATTERN

private static final java.lang.String RESOURCE_PATTERN
See Also:
Constant Field Values

ENTITY_TYPE_FILTERS

private static final TypeFilter[] ENTITY_TYPE_FILTERS

addAnnotatedClassMethod

private static final java.lang.reflect.Method addAnnotatedClassMethod

addPackageMethod

private static final java.lang.reflect.Method addPackageMethod

resourcePatternResolver

private final ResourcePatternResolver resourcePatternResolver
Constructor Detail

LocalSessionFactoryBuilder

public LocalSessionFactoryBuilder(javax.sql.DataSource dataSource)
Create a new LocalSessionFactoryBuilder for the given DataSource.

Parameters:
dataSource - the JDBC DataSource that the resulting Hibernate SessionFactory should be using

LocalSessionFactoryBuilder

public LocalSessionFactoryBuilder(javax.sql.DataSource dataSource,
                                  java.lang.ClassLoader classLoader)
Create a new LocalSessionFactoryBuilder for the given DataSource.

Parameters:
dataSource - the JDBC DataSource that the resulting Hibernate SessionFactory should be using
classLoader - the ClassLoader to load application classes from

LocalSessionFactoryBuilder

public LocalSessionFactoryBuilder(javax.sql.DataSource dataSource,
                                  ResourceLoader resourceLoader)
Create a new LocalSessionFactoryBuilder for the given DataSource.

Parameters:
dataSource - the JDBC DataSource that the resulting Hibernate SessionFactory should be using
classLoader - the ResourceLoader to load application classes from
Method Detail

addAnnotatedClasses

public LocalSessionFactoryBuilder addAnnotatedClasses(java.lang.Class<?>... annotatedClasses)
Add the given annotated classes in a batch.

See Also:
#addAnnotatedClass, scanPackages(java.lang.String...)

addPackages

public LocalSessionFactoryBuilder addPackages(java.lang.String... annotatedPackages)
Add the given annotated packages in a batch.

See Also:
#addPackage, scanPackages(java.lang.String...)

scanPackages

public LocalSessionFactoryBuilder scanPackages(java.lang.String... packagesToScan)
                                        throws HibernateException
Perform Spring-based scanning for entity classes, registering them as annotated classes with this Configuration.

Parameters:
packagesToScan - one or more Java package names
Throws:
HibernateException - if scanning fails for any reason

matchesFilter

private boolean matchesFilter(MetadataReader reader,
                              MetadataReaderFactory readerFactory)
                       throws java.io.IOException
Check whether any of the configured entity type filters matches the current class descriptor contained in the metadata reader.

Throws:
java.io.IOException

buildSessionFactory

public SessionFactory buildSessionFactory()
                                   throws HibernateException
Build the SessionFactory.

Throws:
HibernateException