org.hibernate.engine
Interface SessionImplementor

All Superinterfaces:
Serializable
All Known Subinterfaces:
EventSource
All Known Implementing Classes:
AbstractDelegateSessionImplementor, AbstractSessionImpl, SessionImpl, StatelessSessionImpl, ToOneDelegateSessionImplementor

public interface SessionImplementor
extends Serializable

Defines the internal contract between the Session and other parts of Hibernate such as implementors of Type or EntityPersister.

Author:
Gavin King
See Also:
the interface to the application, the actual implementation

Method Summary
 void afterScrollOperation()
           
 void afterTransactionCompletion(boolean successful, Transaction tx)
          Notify the session that the transaction completed, so we no longer own the old locks.
 void applyNonFlushedChanges(NonFlushedChanges nonFlushedChanges)
          Apply non-flushed changes from a different session to this session.
 void beforeTransactionCompletion(Transaction tx)
          Notify the session that the transaction is about to complete
 String bestGuessEntityName(Object object)
          The best guess entity name for an entity not in an association
 Connection connection()
           
 int executeNativeUpdate(NativeSQLQuerySpecification specification, QueryParameters queryParameters)
          Execute a native SQL update or delete query
 int executeUpdate(String query, QueryParameters queryParameters)
          Execute a HQL update or delete query
 void flush()
           
 Batcher getBatcher()
          Get the prepared statement Batcher for this session
 CacheMode getCacheMode()
           
 Serializable getContextEntityIdentifier(Object object)
          Return the identifier of the persistent object, or null if not associated with the session
 int getDontFlushFromFind()
           
 Map getEnabledFilters()
          Deprecated. use #getLoadQueryInfluencers instead
 EntityMode getEntityMode()
           
 EntityPersister getEntityPersister(String entityName, Object object)
          Get the EntityPersister for any instance
 Object getEntityUsingInterceptor(EntityKey key)
          Get the entity instance associated with the given Key, calling the Interceptor if necessary
 SessionFactoryImplementor getFactory()
          Get the creating SessionFactoryImplementor
 String getFetchProfile()
          Deprecated. use #getLoadQueryInfluencers instead
 Type getFilterParameterType(String filterParameterName)
          Deprecated. use #getLoadQueryInfluencers instead
 Object getFilterParameterValue(String filterParameterName)
          Deprecated. use #getLoadQueryInfluencers instead
 FlushMode getFlushMode()
           
 Interceptor getInterceptor()
          Retrieves the interceptor currently in use by this event source.
 JDBCContext getJDBCContext()
           
 EventListeners getListeners()
          Retrieves the configured event listeners from this event source.
 LoadQueryInfluencers getLoadQueryInfluencers()
          Get the load query influencers associated with this session.
 Query getNamedQuery(String name)
          Get a Query instance for a named query or named native SQL query
 Query getNamedSQLQuery(String name)
          Get a Query instance for a named native SQL query
 NonFlushedChanges getNonFlushedChanges()
          Return changes to this session that have not been flushed yet.
 PersistenceContext getPersistenceContext()
          Get the persistence context for this session
 long getTimestamp()
          System time before the start of the transaction
 String guessEntityName(Object entity)
          The guessed entity name for an entity not in an association
 Object immediateLoad(String entityName, Serializable id)
          Load an instance immediately.
 void initializeCollection(PersistentCollection collection, boolean writing)
          Initialize the collection (if not already initialized)
 Object instantiate(String entityName, Serializable id)
          Instantiate the entity class, initializing with the given identifier
 Object internalLoad(String entityName, Serializable id, boolean eager, boolean nullable)
          Load an instance without checking if it was deleted.
 boolean isClosed()
          Determine whether the session is closed.
 boolean isConnected()
           
 boolean isEventSource()
           
 boolean isOpen()
           
 boolean isTransactionInProgress()
          Does this Session have an active Hibernate transaction or is there a JTA transaction in progress?
 Iterator iterate(String query, QueryParameters queryParameters)
          Execute an iterate() query
 Iterator iterateFilter(Object collection, String filter, QueryParameters queryParameters)
          Iterate a filter
 List list(CriteriaImpl criteria)
          Execute a criteria query
 List list(NativeSQLQuerySpecification spec, QueryParameters queryParameters)
          Execute a native SQL query, and return the results as a fully built list.
 List list(String query, QueryParameters queryParameters)
          Execute a find() query
 List listCustomQuery(CustomQuery customQuery, QueryParameters queryParameters)
          Execute an SQL Query
 List listFilter(Object collection, String filter, QueryParameters queryParameters)
          Execute a filter
 ScrollableResults scroll(CriteriaImpl criteria, ScrollMode scrollMode)
          Execute a criteria query
 ScrollableResults scroll(NativeSQLQuerySpecification spec, QueryParameters queryParameters)
          Execute a native SQL query, and return the results as a scrollable result.
 ScrollableResults scroll(String query, QueryParameters queryParameters)
          Execute a scroll() query
 ScrollableResults scrollCustomQuery(CustomQuery customQuery, QueryParameters queryParameters)
          Execute an SQL Query
 void setAutoClear(boolean enabled)
          Enable/disable automatic cache clearing from after transaction completion (for EJB3)
 void setCacheMode(CacheMode cm)
           
 void setFetchProfile(String name)
          Deprecated. use #getLoadQueryInfluencers instead
 void setFlushMode(FlushMode fm)
           
 

Method Detail

getInterceptor

Interceptor getInterceptor()
Retrieves the interceptor currently in use by this event source.

Returns:
The interceptor.

setAutoClear

void setAutoClear(boolean enabled)
Enable/disable automatic cache clearing from after transaction completion (for EJB3)


isTransactionInProgress

boolean isTransactionInProgress()
Does this Session have an active Hibernate transaction or is there a JTA transaction in progress?


initializeCollection

void initializeCollection(PersistentCollection collection,
                          boolean writing)
                          throws HibernateException
Initialize the collection (if not already initialized)

Throws:
HibernateException

internalLoad

Object internalLoad(String entityName,
                    Serializable id,
                    boolean eager,
                    boolean nullable)
                    throws HibernateException
Load an instance without checking if it was deleted. When nullable is disabled this method may create a new proxy or return an existing proxy; if it does not exist, throw an exception. When nullable is enabled, the method does not create new proxies (but might return an existing proxy); if it does not exist, return null. When eager is enabled, the object is eagerly fetched

Throws:
HibernateException

immediateLoad

Object immediateLoad(String entityName,
                     Serializable id)
                     throws HibernateException
Load an instance immediately. This method is only called when lazily initializing a proxy. Do not return the proxy.

Throws:
HibernateException

getTimestamp

long getTimestamp()
System time before the start of the transaction


getFactory

SessionFactoryImplementor getFactory()
Get the creating SessionFactoryImplementor


getBatcher

Batcher getBatcher()
Get the prepared statement Batcher for this session


list

List list(String query,
          QueryParameters queryParameters)
          throws HibernateException
Execute a find() query

Throws:
HibernateException

iterate

Iterator iterate(String query,
                 QueryParameters queryParameters)
                 throws HibernateException
Execute an iterate() query

Throws:
HibernateException

scroll

ScrollableResults scroll(String query,
                         QueryParameters queryParameters)
                         throws HibernateException
Execute a scroll() query

Throws:
HibernateException

scroll

ScrollableResults scroll(CriteriaImpl criteria,
                         ScrollMode scrollMode)
Execute a criteria query


list

List list(CriteriaImpl criteria)
Execute a criteria query


listFilter

List listFilter(Object collection,
                String filter,
                QueryParameters queryParameters)
                throws HibernateException
Execute a filter

Throws:
HibernateException

iterateFilter

Iterator iterateFilter(Object collection,
                       String filter,
                       QueryParameters queryParameters)
                       throws HibernateException
Iterate a filter

Throws:
HibernateException

getEntityPersister

EntityPersister getEntityPersister(String entityName,
                                   Object object)
                                   throws HibernateException
Get the EntityPersister for any instance

Parameters:
entityName - optional entity name
object - the entity instance
Throws:
HibernateException

getEntityUsingInterceptor

Object getEntityUsingInterceptor(EntityKey key)
                                 throws HibernateException
Get the entity instance associated with the given Key, calling the Interceptor if necessary

Throws:
HibernateException

afterTransactionCompletion

void afterTransactionCompletion(boolean successful,
                                Transaction tx)
Notify the session that the transaction completed, so we no longer own the old locks. (Also we should release cache softlocks.) May be called multiple times during the transaction completion process. Also called after an autocommit, in which case the second argument is null.


beforeTransactionCompletion

void beforeTransactionCompletion(Transaction tx)
Notify the session that the transaction is about to complete


getContextEntityIdentifier

Serializable getContextEntityIdentifier(Object object)
Return the identifier of the persistent object, or null if not associated with the session


bestGuessEntityName

String bestGuessEntityName(Object object)
The best guess entity name for an entity not in an association


guessEntityName

String guessEntityName(Object entity)
                       throws HibernateException
The guessed entity name for an entity not in an association

Throws:
HibernateException

instantiate

Object instantiate(String entityName,
                   Serializable id)
                   throws HibernateException
Instantiate the entity class, initializing with the given identifier

Throws:
HibernateException

listCustomQuery

List listCustomQuery(CustomQuery customQuery,
                     QueryParameters queryParameters)
                     throws HibernateException
Execute an SQL Query

Throws:
HibernateException

scrollCustomQuery

ScrollableResults scrollCustomQuery(CustomQuery customQuery,
                                    QueryParameters queryParameters)
                                    throws HibernateException
Execute an SQL Query

Throws:
HibernateException

list

List list(NativeSQLQuerySpecification spec,
          QueryParameters queryParameters)
          throws HibernateException
Execute a native SQL query, and return the results as a fully built list.

Parameters:
spec - The specification of the native SQL query to execute.
queryParameters - The parameters by which to perform the execution.
Returns:
The result list.
Throws:
HibernateException

scroll

ScrollableResults scroll(NativeSQLQuerySpecification spec,
                         QueryParameters queryParameters)
                         throws HibernateException
Execute a native SQL query, and return the results as a scrollable result.

Parameters:
spec - The specification of the native SQL query to execute.
queryParameters - The parameters by which to perform the execution.
Returns:
The resulting scrollable result.
Throws:
HibernateException

getFilterParameterValue

Object getFilterParameterValue(String filterParameterName)
Deprecated. use #getLoadQueryInfluencers instead

Retreive the currently set value for a filter parameter.

Parameters:
filterParameterName - The filter parameter name in the format {FILTER_NAME.PARAMETER_NAME}.
Returns:
The filter parameter value.

getFilterParameterType

Type getFilterParameterType(String filterParameterName)
Deprecated. use #getLoadQueryInfluencers instead

Retreive the type for a given filter parrameter.

Parameters:
filterParameterName - The filter parameter name in the format {FILTER_NAME.PARAMETER_NAME}.
Returns:
The filter param type

getEnabledFilters

Map getEnabledFilters()
Deprecated. use #getLoadQueryInfluencers instead

Return the currently enabled filters. The filter map is keyed by filter name, with values corresponding to the FilterImpl instance.

Returns:
The currently enabled filters.

getDontFlushFromFind

int getDontFlushFromFind()

getListeners

EventListeners getListeners()
Retrieves the configured event listeners from this event source.

Returns:
The configured event listeners.

getPersistenceContext

PersistenceContext getPersistenceContext()
Get the persistence context for this session


executeUpdate

int executeUpdate(String query,
                  QueryParameters queryParameters)
                  throws HibernateException
Execute a HQL update or delete query

Throws:
HibernateException

executeNativeUpdate

int executeNativeUpdate(NativeSQLQuerySpecification specification,
                        QueryParameters queryParameters)
                        throws HibernateException
Execute a native SQL update or delete query

Throws:
HibernateException

getNonFlushedChanges

NonFlushedChanges getNonFlushedChanges()
                                       throws HibernateException
Return changes to this session that have not been flushed yet.

Returns:
The non-flushed changes.
Throws:
HibernateException

applyNonFlushedChanges

void applyNonFlushedChanges(NonFlushedChanges nonFlushedChanges)
                            throws HibernateException
Apply non-flushed changes from a different session to this session. It is assumed that this SessionImpl is "clean" (e.g., has no non-flushed changes, no cached entities, no cached collections, no queued actions). The specified NonFlushedChanges object cannot be bound to any session.

Parameters:
nonFlushedChanges - the non-flushed changes
Throws:
HibernateException

getEntityMode

EntityMode getEntityMode()

getCacheMode

CacheMode getCacheMode()

setCacheMode

void setCacheMode(CacheMode cm)

isOpen

boolean isOpen()

isConnected

boolean isConnected()

getFlushMode

FlushMode getFlushMode()

setFlushMode

void setFlushMode(FlushMode fm)

connection

Connection connection()

flush

void flush()

getNamedQuery

Query getNamedQuery(String name)
Get a Query instance for a named query or named native SQL query


getNamedSQLQuery

Query getNamedSQLQuery(String name)
Get a Query instance for a named native SQL query


isEventSource

boolean isEventSource()

afterScrollOperation

void afterScrollOperation()

getFetchProfile

String getFetchProfile()
Deprecated. use #getLoadQueryInfluencers instead

Get the internal fetch profile currently associated with this session.

Returns:
The current internal fetch profile, or null if none currently associated.

setFetchProfile

void setFetchProfile(String name)
Deprecated. use #getLoadQueryInfluencers instead

Set the current internal fetch profile for this session.

Parameters:
name - The internal fetch profile name to use

getJDBCContext

JDBCContext getJDBCContext()

isClosed

boolean isClosed()
Determine whether the session is closed. Provided seperately from isOpen() as this method does not attempt any JTA synch registration, where as isOpen() does; which makes this one nicer to use for most internal purposes.

Returns:
True if the session is closed; false otherwise.

getLoadQueryInfluencers

LoadQueryInfluencers getLoadQueryInfluencers()
Get the load query influencers associated with this session.

Returns:
the load query influencers associated with this session; should never be null.


Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.