org.hibernate.engine

Interface SessionImplementor

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

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
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()
Return the currently enabled filters.
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()
Type
getFilterParameterType(String filterParameterName)
Retreive the type for a given filter parrameter.
Object
getFilterParameterValue(String filterParameterName)
Retreive the currently set value for a filter parameter.
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.
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
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(String query, QueryParameters queryParameters)
Execute a find() query
List
list(NativeSQLQuerySpecification spec, QueryParameters queryParameters)
Execute a native SQL query, and return the results as a fully built list.
List
list(CriteriaImpl criteria)
Execute a criteria query
List
listCustomQuery(CustomQuery customQuery, QueryParameters queryParameters)
Execute an SQL Query
List
listFilter(Object collection, String filter, QueryParameters queryParameters)
Execute a filter
ScrollableResults
scroll(String query, QueryParameters queryParameters)
Execute a scroll() query
ScrollableResults
scroll(NativeSQLQuerySpecification spec, QueryParameters queryParameters)
Execute a native SQL query, and return the results as a scrollable result.
ScrollableResults
scroll(CriteriaImpl criteria, ScrollMode scrollMode)
Execute a criteria 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)
void
setFlushMode(FlushMode fm)

Method Details

afterScrollOperation

public void afterScrollOperation()

afterTransactionCompletion

public 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

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

bestGuessEntityName

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

connection

public Connection connection()

executeNativeUpdate

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

executeUpdate

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

flush

public void flush()

getBatcher

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

getCacheMode

public CacheMode getCacheMode()

getContextEntityIdentifier

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

getDontFlushFromFind

public int getDontFlushFromFind()

getEnabledFilters

public Map getEnabledFilters()
Returns:
The currently enabled filters.

getEntityMode

public EntityMode getEntityMode()

getEntityPersister

public EntityPersister getEntityPersister(String entityName,
                                          Object object)
            throws HibernateException
Get the EntityPersister for any instance
Parameters:
entityName - optional entity name
object - the entity instance

getEntityUsingInterceptor

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

getFactory

public SessionFactoryImplementor getFactory()
Get the creating SessionFactoryImplementor

getFetchProfile

public String getFetchProfile()

getFilterParameterType

public Type getFilterParameterType(String filterParameterName)
Retreive the type for a given filter parrameter.
Parameters:
filterParameterName - The filter parameter name in the format {FILTER_NAME.PARAMETER_NAME}.

getFilterParameterValue

public Object getFilterParameterValue(String filterParameterName)
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.

getFlushMode

public FlushMode getFlushMode()

getInterceptor

public Interceptor getInterceptor()
Retrieves the interceptor currently in use by this event source.
Returns:
The interceptor.

getJDBCContext

public JDBCContext getJDBCContext()

getListeners

public EventListeners getListeners()
Retrieves the configured event listeners from this event source.
Returns:
The configured event listeners.

getNamedQuery

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

getNamedSQLQuery

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

getPersistenceContext

public PersistenceContext getPersistenceContext()
Get the persistence context for this session

getTimestamp

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

guessEntityName

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

immediateLoad

public 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.

initializeCollection

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

instantiate

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

internalLoad

public 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

isClosed

public 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.

isConnected

public boolean isConnected()

isEventSource

public boolean isEventSource()

isOpen

public boolean isOpen()

isTransactionInProgress

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

iterate

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

iterateFilter

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

list

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

list

public 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.

list

public List list(CriteriaImpl criteria)
Execute a criteria query

listCustomQuery

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

listFilter

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

scroll

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

scroll

public 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.

scroll

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

scrollCustomQuery

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

setAutoClear

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

setCacheMode

public void setCacheMode(CacheMode cm)

setFetchProfile

public void setFetchProfile(String name)

setFlushMode

public void setFlushMode(FlushMode fm)