站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > Hibernate 2.1.8 正式版 API 英文文档

SessionFactory (Hibernate API Documentation) - Hibernate 2.1.8 正式版 API 英文文档


net.sf.hibernate
Interface SessionFactory

All Superinterfaces:
Referenceable, Serializable
All Known Subinterfaces:
SessionFactoryImplementor
All Known Implementing Classes:
JCASessionFactoryImpl, SessionFactoryImpl, SessionFactoryStub

public interface SessionFactory
extends Referenceable, Serializable

Creates Sessions. Usually an application has a single SessionFactory. Threads servicing client requests obtain Sessions from the factory.

Implementors must be threadsafe.

SessionFactorys 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 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 Class 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
 CollectionMetadata getCollectionMetadata(String roleName)
          Get the CollectionMetadata associated with the named collection role
 SQLExceptionConverter getSQLExceptionConverter()
          Retrieves the SQLExceptionConverter in effect for this SessionFactory.
 Databinder openDatabinder()
          Create a new databinder.
 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.
 
Methods inherited from interface javax.naming.Referenceable
getReference
 

Method Detail

openSession

public 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

public 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

public 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

public Session openSession()
                    throws HibernateException
Create database connection and open a Session on it.

Returns:
Session
Throws:
HibernateException

openDatabinder

public Databinder openDatabinder()
                          throws HibernateException
Create a new databinder.

Returns:
Databinder
Throws:
HibernateException

getClassMetadata

public ClassMetadata getClassMetadata(Class persistentClass)
                               throws HibernateException
Get the ClassMetadata associated with the given entity class

Throws:
HibernateException
See Also:
ClassMetadata

getCollectionMetadata

public CollectionMetadata getCollectionMetadata(String roleName)
                                         throws HibernateException
Get the CollectionMetadata associated with the named collection role

Throws:
HibernateException
See Also:
CollectionMetadata

getAllClassMetadata

public Map getAllClassMetadata()
                        throws HibernateException
Get all ClassMetadata as a Map from Class to metadata object

Returns:
a map from Class to ClassMetaData
Throws:
HibernateException
See Also:
ClassMetadata

getAllCollectionMetadata

public 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

close

public 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 Sessions before calling close().

Throws:
HibernateException

evict

public 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

public 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

evictCollection

public 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

public 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

public void evictQueries()
                  throws HibernateException
Evict any query result sets cached in the default query cache region.

Throws:
HibernateException

evictQueries

public void evictQueries(String cacheRegion)
                  throws HibernateException
Evict any query result sets cached in the named query cache region.

Throws:
HibernateException

getSQLExceptionConverter

public SQLExceptionConverter getSQLExceptionConverter()
Retrieves the SQLExceptionConverter in effect for this SessionFactory.

Returns:
The SQLExceptionConverter for this SessionFactory.