## org.hibernate.engine.spi
Interface SessionImplementor

All Superinterfaces:
  LobCreationContext, Serializable

All Known Subinterfaces:
  EventSource

All Known Implementing Classes:
  AbstractDelegateSessionImplementor, AbstractSessionImpl, SessionImpl, StatelessSessionImpl, ToOneDelegateSessionImplementor

    public interface SessionImplementor

extends Serializable, LobCreationContext

Defines the internal contract between `Session` / `StatelessSession` and other parts of Hibernate such as `Type`, `EntityPersister` and `CollectionPersister` implementors

Nested Class Summary

Nested classes/interfaces inherited from interface org.hibernate.engine.jdbc.LobCreationContext
`LobCreationContext.Callback<T>`

Method Summary
`void` `afterScrollOperation()`
`void` `applyNonFlushedChanges(NonFlushedChanges nonFlushedChanges)` Apply non-flushed changes from a different session to this session.
`String` `bestGuessEntityName(Object object)` The best guess entity name for an entity not in an association
`Connection` `connection()`
`void` `disableTransactionAutoJoin()` Disable automatic transaction joining.
`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()`
`CacheKey` `generateCacheKey(Serializable id, Type type, String entityOrRoleName)` Hide the changing requirements of cache key creation.
`EntityKey` `generateEntityKey(Serializable id, EntityPersister persister)` Hide the changing requirements of entity key creation
`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
`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.
`JdbcConnectionAccess` `getJdbcConnectionAccess()` Provides access to JDBC connections
`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
`String` `getTenantIdentifier()` Match te method on `Session` and `StatelessSession`
`long` `getTimestamp()` System time before the start of the transaction
`TransactionCoordinator` `getTransactionCoordinator()` Retrieve access to the session's transaction coordinator.
`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)`

Methods inherited from interface org.hibernate.engine.jdbc.LobCreationContext
`execute`

Method Detail

### getTenantIdentifier

    String getTenantIdentifier()

  Match te method on `Session` and `StatelessSession`

  Returns:
    The tenant identifier of this session

### getJdbcConnectionAccess

    JdbcConnectionAccess getJdbcConnectionAccess()

  Provides access to JDBC connections

  Returns:
    The contract for accessing JDBC connections.

### generateEntityKey

    EntityKey generateEntityKey(Serializable id,
                                EntityPersister persister)

  Hide the changing requirements of entity key creation

  Parameters:
    `id` - The entity id
    `persister` - The entity persister
  Returns:
    The entity key

### generateCacheKey

    CacheKey generateCacheKey(Serializable id,
                              Type type,
                              String entityOrRoleName)

  Hide the changing requirements of cache key creation.

  Parameters:
    `id` - The entity identifier or collection key.
    `type` - The type
    `entityOrRoleName` - The entity name or collection role.
  Returns:
    The cache key

### 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)

### disableTransactionAutoJoin

    void disableTransactionAutoJoin()

  Disable automatic transaction joining. The really only has any effect for CMT transactions. The default Hibernate behavior is to auto join any active JTA transaction (register `Synchronization`). JPA however defines an explicit join transaction operation. See javax.persistence.EntityManager#joinTransaction

### 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`

### 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`

### 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

    @Deprecated
    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

    @Deprecated
    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

    @Deprecated
    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()

### 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`

### 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

    @Deprecated
    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

    @Deprecated
    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

### getTransactionCoordinator

    TransactionCoordinator getTransactionCoordinator()

  Retrieve access to the session's transaction coordinator.

  Returns:
    The transaction coordinator.

### isClosed

    boolean isClosed()

  Determine whether the session is closed. Provided separately from `isOpen()` as this method does not attempt any JTA synchronization 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-2012 Red Hat, Inc. All Rights Reserved.