Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.hibernate
Interface SessionFactory

All Superinterfaces:
  Referenceable, Serializable

All Known Subinterfaces:
  SessionFactoryImplementor

All Known Implementing Classes:
  SessionFactoryImpl, SessionFactoryStub

    public interface SessionFactory

extends Referenceable, Serializable

Creates `Session`s. Usually an application has a single `SessionFactory`. Threads servicing client requests obtain `Session`s from the factory.
Implementors must be threadsafe.
`SessionFactory`s are immutable. The behaviour of a `SessionFactory` is controlled by properties supplied at configuration time. These properties are defined on `Environment`.

Author:
  Gavin King
See Also:
  `Session`, `Environment`, `Configuration`, `ConnectionProvider`, `TransactionFactory`

Method Summary
`void` | `close()` Destroy this `SessionFactory` and release all resources (caches, connection pools, etc).
`void` | `evict(Class persistentClass)` Evict all entries from the second-level cache.
`void` | `evict(Class persistentClass, Serializable id)` Evict an entry from the second-level cache.
`void` | `evictCollection(String roleName)` Evict all entries from the second-level cache.
`void` | `evictCollection(String roleName, Serializable id)` Evict an entry from the second-level cache.
`void` | `evictEntity(String entityName)` Evict all entries from the second-level cache.
`void` | `evictEntity(String entityName, Serializable id)` Evict an entry from the second-level cache.
`void` | `evictQueries()` Evict any query result sets cached in the default query cache region.
`void` | `evictQueries(String cacheRegion)` Evict any query result sets cached in the named query cache region.
`Map` | `getAllClassMetadata()` Get all `ClassMetadata` as a `Map` from entityname `String` to metadata object
`Map` | `getAllCollectionMetadata()` Get all `CollectionMetadata` as a `Map` from role name to metadata object
`ClassMetadata` | `getClassMetadata(Class persistentClass)` Get the `ClassMetadata` associated with the given entity class
`ClassMetadata` | `getClassMetadata(String entityName)` Get the `ClassMetadata` associated with the given entity name
`CollectionMetadata` | `getCollectionMetadata(String roleName)` Get the `CollectionMetadata` associated with the named collection role
`Session` | `getCurrentSession()` Obtains the current session.
`Set` | `getDefinedFilterNames()` Obtain a set of the names of all filters defined on this SessionFactory.
`FilterDefinition` | `getFilterDefinition(String filterName)` Obtain the definition of a filter by name.
`Statistics` | `getStatistics()` Get the statistics for this session factory
`boolean` | `isClosed()` Was this `SessionFactory` already closed?
`Session` | `openSession()` Create database connection and open a `Session` on it.
`Session` | `openSession(Connection connection)` Open a `Session` on the given connection.
`Session` | `openSession(Connection connection, Interceptor interceptor)` Open a `Session` on the given connection, specifying an interceptor.
`Session` | `openSession(Interceptor interceptor)` Create database connection and open a `Session` on it, specifying an interceptor.
`StatelessSession` | `openStatelessSession()` Get a new stateless session.
`StatelessSession` | `openStatelessSession(Connection connection)` Get a new stateless session for the given JDBC connection.

Methods inherited from interface javax.naming.Referenceable
`getReference`

Method Detail

### openSession

    Session openSession(Connection connection)

  Open a `Session` on the given connection.

  Note that the second-level cache will be disabled if you supply a JDBC connection. Hibernate will not be able to track any statements you might have executed in the same transaction. Consider implementing your own `ConnectionProvider`.

  Parameters:
    `connection` - a connection provided by the application.
  Returns:
    Session

### openSession

    Session openSession(Interceptor interceptor)
                        throws HibernateException

  Create database connection and open a `Session` on it, specifying an interceptor.

  Parameters:
    `interceptor` - a session-scoped interceptor
  Returns:
    Session
  Throws:
    `HibernateException`

### openSession

    Session openSession(Connection connection,
                        Interceptor interceptor)

  Open a `Session` on the given connection, specifying an interceptor.

  Note that the second-level cache will be disabled if you supply a JDBC connection. Hibernate will not be able to track any statements you might have executed in the same transaction. Consider implementing your own `ConnectionProvider`.

  Parameters:
    `connection` - a connection provided by the application.
    `interceptor` - a session-scoped interceptor
  Returns:
    Session

### openSession

    Session openSession()
                        throws HibernateException

  Create database connection and open a `Session` on it.

  Returns:
    Session
  Throws:
    `HibernateException`

### getCurrentSession

    Session getCurrentSession()
                              throws HibernateException

  Obtains the current session. The definition of what exactly "current" means controlled by the `CurrentSessionContext` impl configured for use.

  Note that for backwards compatibility, if a `CurrentSessionContext` is not configured but a JTA `TransactionManagerLookup` is configured this will default to the `JTASessionContext` impl.

  Returns:
    The current session.
  Throws:
    `HibernateException` - Indicates an issue locating a suitable current session.

### getClassMetadata

    ClassMetadata getClassMetadata(Class persistentClass)
                                   throws HibernateException

  Get the `ClassMetadata` associated with the given entity class

  Throws:
    `HibernateException`
  See Also:
    `ClassMetadata`

### getClassMetadata

    ClassMetadata getClassMetadata(String entityName)
                                   throws HibernateException

  Get the `ClassMetadata` associated with the given entity name

  Throws:
    `HibernateException`
  Since:
    3.0
  See Also:
    `ClassMetadata`

### getCollectionMetadata

    CollectionMetadata getCollectionMetadata(String roleName)
                                             throws HibernateException

  Get the `CollectionMetadata` associated with the named collection role

  Throws:
    `HibernateException`
  See Also:
    `CollectionMetadata`

### getAllClassMetadata

    Map getAllClassMetadata()
                            throws HibernateException

  Get all `ClassMetadata` as a `Map` from entityname `String` to metadata object

  Returns:
    a map from `String` an entity name to `ClassMetaData`
  Throws:
    `HibernateException`
  Since:
    3.0 changed key from `Class` to `String`
  See Also:
    `ClassMetadata`

### getAllCollectionMetadata

    Map getAllCollectionMetadata()
                                 throws HibernateException

  Get all `CollectionMetadata` as a `Map` from role name to metadata object

  Returns:
    a map from `String` to `CollectionMetadata`
  Throws:
    `HibernateException`
  See Also:
    `CollectionMetadata`

### getStatistics

    Statistics getStatistics()

  Get the statistics for this session factory

### close

    void close()
               throws HibernateException

  Destroy this `SessionFactory` and release all resources (caches, connection pools, etc). It is the responsibility of the application to ensure that there are no open `Session`s before calling `close()`.

  Throws:
    `HibernateException`

### isClosed

    boolean isClosed()

  Was this `SessionFactory` already closed?

### evict

    void evict(Class persistentClass)
               throws HibernateException

  Evict all entries from the second-level cache. This method occurs outside of any transaction; it performs an immediate "hard" remove, so does not respect any transaction isolation semantics of the usage strategy. Use with care.

  Throws:
    `HibernateException`

### evict

    void evict(Class persistentClass,
               Serializable id)
               throws HibernateException

  Evict an entry from the second-level cache. This method occurs outside of any transaction; it performs an immediate "hard" remove, so does not respect any transaction isolation semantics of the usage strategy. Use with care.

  Throws:
    `HibernateException`

### evictEntity

    void evictEntity(String entityName)
                     throws HibernateException

  Evict all entries from the second-level cache. This method occurs outside of any transaction; it performs an immediate "hard" remove, so does not respect any transaction isolation semantics of the usage strategy. Use with care.

  Throws:
    `HibernateException`

### evictEntity

    void evictEntity(String entityName,
                     Serializable id)
                     throws HibernateException

  Evict an entry from the second-level cache. This method occurs outside of any transaction; it performs an immediate "hard" remove, so does not respect any transaction isolation semantics of the usage strategy. Use with care.

  Throws:
    `HibernateException`

### evictCollection

    void evictCollection(String roleName)
                         throws HibernateException

  Evict all entries from the second-level cache. This method occurs outside of any transaction; it performs an immediate "hard" remove, so does not respect any transaction isolation semantics of the usage strategy. Use with care.

  Throws:
    `HibernateException`

### evictCollection

    void evictCollection(String roleName,
                         Serializable id)
                         throws HibernateException

  Evict an entry from the second-level cache. This method occurs outside of any transaction; it performs an immediate "hard" remove, so does not respect any transaction isolation semantics of the usage strategy. Use with care.

  Throws:
    `HibernateException`

### evictQueries

    void evictQueries()
                      throws HibernateException

  Evict any query result sets cached in the default query cache region.

  Throws:
    `HibernateException`

### evictQueries

    void evictQueries(String cacheRegion)
                      throws HibernateException

  Evict any query result sets cached in the named query cache region.

  Throws:
    `HibernateException`

### openStatelessSession

    StatelessSession openStatelessSession()

  Get a new stateless session.

### openStatelessSession

    StatelessSession openStatelessSession(Connection connection)

  Get a new stateless session for the given JDBC connection.

### getDefinedFilterNames

    Set getDefinedFilterNames()

  Obtain a set of the names of all filters defined on this SessionFactory.

  Returns:
    The set of filter names.

### getFilterDefinition

    FilterDefinition getFilterDefinition(String filterName)
                                         throws HibernateException

  Obtain the definition of a filter by name.

  Parameters:
    `filterName` - The name of the filter for which to obtain the definition.
  Returns:
    The filter definition.
  Throws:
    `HibernateException` - If no filter defined with the given name.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD