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.impl
Class SessionImpl

    java.lang.Object
      org.hibernate.impl.AbstractSessionImpl
          org.hibernate.impl.SessionImpl

All Implemented Interfaces:
  Serializable, SessionImplementor, EventSource, JDBCContext.Context, Session, TransactionFactory.Context

    public final class SessionImpl

extends AbstractSessionImpl
implements EventSource, Session, JDBCContext.Context

Concrete implementation of a Session, and also the central, organizing component of Hibernate's internal implementation. As such, this class exposes two interfaces; Session itself, to the application, and SessionImplementor, to other components of Hibernate. This class is not threadsafe.

Author:
  Gavin King
See Also:
  Serialized Form

Field Summary

Fields inherited from class org.hibernate.impl.AbstractSessionImpl
`factory`

Method Summary
`void` | `afterOperation(boolean success)` Check if there is a Hibernate or JTA transaction in progress and, if there is not, flush if necessary, make sure the connection has been committed (if it is not in autocommit mode) and run the after completion processing
`void` | `afterScrollOperation()`
`void` | `afterTransactionBegin(Transaction tx)` We cannot rely upon this method being called! It is only called if we are using Hibernate Transaction API.
`void` | `afterTransactionCompletion(boolean success, Transaction tx)` Notify the session that the transaction completed, so we no longer own the old locks.
`protected boolean` | `autoFlushIfRequired(Set querySpaces)` detect in-memory changes, determine if the changes are to tables named in the query and, if so, complete execution the flush
`void` | `beforeTransactionCompletion(Transaction tx)` Notify the session that the transaction is about to complete
`Transaction` | `beginTransaction()` Begin a unit of work and return the associated `Transaction` object.
`String` | `bestGuessEntityName(Object object)` The best guess entity name for an entity not in an association
`void` | `cancelQuery()` Cancel the execution of the current query.
`void` | `clear()` Completely clear the session.
`Connection` | `close()` End the session by releasing the JDBC connection and cleaning up.
`Connection` | `connection()` Get the JDBC connection of this Session. If the session is using aggressive collection release (as in a CMT environment), it is the application's responsibility to close the connection returned by this call.
`boolean` | `contains(Object object)` Check if this instance is associated with this `Session`.
`Criteria` | `createCriteria(Class persistentClass)` Create a new `Criteria` instance, for the given entity class, or a superclass of an entity class.
`Criteria` | `createCriteria(Class persistentClass, String alias)` Create a new `Criteria` instance, for the given entity class, or a superclass of an entity class, with the given alias.
`Criteria` | `createCriteria(String entityName)` Create a new `Criteria` instance, for the given entity name.
`Criteria` | `createCriteria(String entityName, String alias)` Create a new `Criteria` instance, for the given entity name, with the given alias.
`Query` | `createFilter(Object collection, String queryString)` Create a new instance of `Query` for the given collection and filter string.
`Query` | `createQuery(String queryString)` Create a new instance of `Query` for the given HQL query string.
`SQLQuery` | `createSQLQuery(String sql)` Create a new instance of `SQLQuery` for the given SQL query string.
`Query` | `createSQLQuery(String sql, String[] returnAliases, Class[] returnClasses)`
`Query` | `createSQLQuery(String sql, String returnAlias, Class returnClass)`
`void` | `delete(Object object)` Delete a persistent object
`int` | `delete(String query)`
`void` | `delete(String entityName, Object object)` Delete a persistent object (by explicit entity name)
`int` | `delete(String query, Object[] values, Type[] types)`
`void` | `delete(String entityName, Object object, boolean isCascadeDeleteEnabled, Set transientEntities)` Delete a persistent object
`int` | `delete(String query, Object value, Type type)`
`void` | `disableFilter(String filterName)` Disable the named filter for the current session.
`Connection` | `disconnect()` Disconnect the `Session` from the current JDBC connection.
`Filter` | `enableFilter(String filterName)` Enable the named filter for this current session.
`void` | `evict(Object object)` remove any hard references to the entity that are held by the infrastructure (references held by application or other persistant instances are okay)
`int` | `executeNativeUpdate(NativeSQLQuerySpecification nativeQuerySpecification, QueryParameters queryParameters)` Execute a native SQL update or delete query
`int` | `executeUpdate(String query, QueryParameters queryParameters)` Execute a HQL update or delete query
`Collection` | `filter(Object collection, String filter)`
`Collection` | `filter(Object collection, String filter, Object[] values, Type[] types)`
`Collection` | `filter(Object collection, String filter, Object value, Type type)`
`List` | `find(String query)` Retrieve a list of persistent objects using a hibernate query
`List` | `find(String query, Object[] values, Type[] types)`
`List` | `find(String query, Object value, Type type)`
`void` | `flush()` Force this session to flush.
`void` | `forceFlush(EntityEntry entityEntry)` Force an immediate flush
`Object` | `get(Class entityClass, Serializable id)` Return the persistent instance of the given entity class with the given identifier, or null if there is no such persistent instance.
`Object` | `get(Class entityClass, Serializable id, LockMode lockMode)` Return the persistent instance of the given entity class with the given identifier, or null if there is no such persistent instance.
`Object` | `get(String entityName, Serializable id)` Return the persistent instance of the given named entity with the given identifier, or null if there is no such persistent instance.
`Object` | `get(String entityName, Serializable id, LockMode lockMode)` Return the persistent instance of the given entity class with the given identifier, or null if there is no such persistent instance.
`ActionQueue` | `getActionQueue()` Get the ActionQueue for this session
`Batcher` | `getBatcher()` Get the prepared statement `Batcher` for this session
`CacheMode` | `getCacheMode()` Get the current cache mode.
`ConnectionReleaseMode` | `getConnectionReleaseMode()`
`Serializable` | `getContextEntityIdentifier(Object object)` Get the id value for an object that is actually associated with the session.
`LockMode` | `getCurrentLockMode(Object object)` Determine the current lock mode of the given object.
`int` | `getDontFlushFromFind()`
`Filter` | `getEnabledFilter(String filterName)` Retrieve a currently enabled filter by name.
`Map` | `getEnabledFilters()` Return the currently enabled filters.
`EntityMode` | `getEntityMode()` Retrieve the entity mode in effect for this session.
`String` | `getEntityName(Object object)` Return the entity name for a persistent entity
`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
`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()` Get the current flush mode for this session.
`Serializable` | `getIdentifier(Object object)` Return the identifier value of the given entity as associated with this session.
`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 queryName)` Get a Query instance for a named query or named native SQL query
`PersistenceContext` | `getPersistenceContext()` Get the persistence context for this session
`Session` | `getSession(EntityMode entityMode)` Starts a new Session with the given entity mode in effect.
`SessionFactory` | `getSessionFactory()` Get the session factory which created this session.
`SessionStatistics` | `getStatistics()` Get the statistics for this session.
`long` | `getTimestamp()` System time before the start of the transaction
`Transaction` | `getTransaction()` Get the `Transaction` instance associated with this session.
`String` | `guessEntityName(Object object)` The guessed entity name for an entity not in an association
`Object` | `immediateLoad(String entityName, Serializable id)` Load the data for the object with the specified id into a newly created object.
`void` | `initializeCollection(PersistentCollection collection, boolean writing)` Initialize the collection (if not already initialized)
`Object` | `instantiate(EntityPersister persister, Serializable id)` give the interceptor an opportunity to override the default instantiation
`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` | `isAutoCloseSessionEnabled()`
`boolean` | `isConnected()` Check if the session is currently connected.
`boolean` | `isDirty()` Does this session contain any changes which must be synchronized with the database? In other words, would any DML operations be executed if we flushed this session?
`boolean` | `isEventSource()`
`boolean` | `isFlushBeforeCompletionEnabled()`
`boolean` | `isFlushModeNever()`
`boolean` | `isOpen()` Check if the session is still open.
`boolean` | `isTransactionInProgress()` Does this `Session` have an active Hibernate transaction or is there a JTA transaction in progress?
`Iterator` | `iterate(String query)`
`Iterator` | `iterate(String query, Object[] values, Type[] types)`
`Iterator` | `iterate(String query, Object value, Type type)`
`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(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
`Object` | `load(Class entityClass, Serializable id)` Return the persistent instance of the given entity class with the given identifier, assuming that the instance exists.
`Object` | `load(Class entityClass, Serializable id, LockMode lockMode)` Return the persistent instance of the given entity class with the given identifier, obtaining the specified lock mode, assuming the instance exists.
`void` | `load(Object object, Serializable id)` Read the persistent state associated with the given identifier into the given transient instance.
`Object` | `load(String entityName, Serializable id)` Return the persistent instance of the given entity class with the given identifier, assuming that the instance exists.
`Object` | `load(String entityName, Serializable id, LockMode lockMode)` Return the persistent instance of the given entity class with the given identifier, obtaining the specified lock mode, assuming the instance exists.
`void` | `lock(Object object, LockMode lockMode)` Obtain the specified lock level upon the given object.
`void` | `lock(String entityName, Object object, LockMode lockMode)` Obtain the specified lock level upon the given object.
`void` | `managedClose()`
`void` | `managedFlush()`
`Object` | `merge(Object object)` Copy the state of the given object onto the persistent object with the same identifier.
`Object` | `merge(String entityName, Object object)` Copy the state of the given object onto the persistent object with the same identifier.
`void` | `merge(String entityName, Object object, Map copiedAlready)` Cascade merge an entity instance
`void` | `persist(Object object)` Make a transient instance persistent.
`void` | `persist(String entityName, Object object)` Make a transient instance persistent.
`void` | `persist(String entityName, Object object, Map copiedAlready)` Cascade persist an entity instance
`void` | `persistOnFlush(Object object)`
`void` | `persistOnFlush(String entityName, Object object)`
`void` | `persistOnFlush(String entityName, Object object, Map copiedAlready)` Cascade persist an entity instance during the flush process
`void` | `reconnect()` Obtain a new JDBC connection.
`void` | `reconnect(Connection conn)` Reconnect to the given JDBC connection.
`void` | `refresh(Object object)` Re-read the state of the given instance from the underlying database.
`void` | `refresh(Object object, LockMode lockMode)` Re-read the state of the given instance from the underlying database, with the given `LockMode`.
`void` | `refresh(Object object, Map refreshedAlready)` Cascade refesh an entity instance
`void` | `replicate(Object obj, ReplicationMode replicationMode)` Persist the state of the given detached instance, reusing the current identifier value.
`void` | `replicate(String entityName, Object obj, ReplicationMode replicationMode)` Persist the state of the given detached instance, reusing the current identifier value.
`Serializable` | `save(Object obj)` Persist the given transient instance, first assigning a generated identifier.
`void` | `save(Object obj, Serializable id)`
`Serializable` | `save(String entityName, Object object)` Persist the given transient instance, first assigning a generated identifier.
`void` | `save(String entityName, Object object, Serializable id)`
`void` | `saveOrUpdate(Object object)` Either `Session.save(Object)` or `Session.update(Object)` the given instance, depending upon resolution of the unsaved-value checks (see the manual for discussion of unsaved-value checking).
`void` | `saveOrUpdate(String entityName, Object obj)` Either `Session.save(String, Object)` or `Session.update(String, Object)` the given instance, depending upon resolution of the unsaved-value checks (see the manual for discussion of unsaved-value checking).
`Object` | `saveOrUpdateCopy(Object object)`
`Object` | `saveOrUpdateCopy(Object object, Serializable id)`
`Object` | `saveOrUpdateCopy(String entityName, Object object)`
`void` | `saveOrUpdateCopy(String entityName, Object object, Map copiedAlready)` Cascade copy an entity instance
`Object` | `saveOrUpdateCopy(String entityName, Object object, Serializable id)`
`ScrollableResults` | `scroll(CriteriaImpl criteria, ScrollMode scrollMode)` Execute a criteria query
`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 cacheMode)` Set the cache mode.
`void` | `setFetchProfile(String fetchProfile)`
`void` | `setFlushMode(FlushMode flushMode)` Set the flush mode for this session.
`void` | `setReadOnly(Object entity, boolean readOnly)` Set an unmodified persistent object to read only mode, or a read only object to modifiable mode.
`boolean` | `shouldAutoClose()`
`String` | `toString()`
`void` | `update(Object obj)` Update the persistent instance with the identifier of the given detached instance.
`void` | `update(Object obj, Serializable id)`
`void` | `update(String entityName, Object object)` Update the persistent instance with the identifier of the given detached instance.
`void` | `update(String entityName, Object object, Serializable id)`

Methods inherited from class org.hibernate.impl.AbstractSessionImpl
`errorIfClosed, getFactory, getHQLQueryPlan, getNamedSQLQuery, getNativeSQLQueryPlan, isClosed, list, scroll, setClosed`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.hibernate.engine.SessionImplementor
`getFactory, getNamedSQLQuery, isClosed, list, scroll`

Methods inherited from interface org.hibernate.transaction.TransactionFactory.Context
`getFactory, isClosed`

Method Detail

### getSession

    public Session getSession(EntityMode entityMode)

  Description copied from interface: `Session`
  Starts a new Session with the given entity mode in effect. This secondary Session inherits the connection, transaction, and other context information from the primary Session. It doesn't need to be flushed or closed by the developer.

  Specified by:
    `getSession` in interface `Session`
  Parameters:
    `entityMode` - The entity mode to use for the new session.
  Returns:
    The new session

### clear

    public void clear()

  Description copied from interface: `Session`
  Completely clear the session. Evict all loaded instances and cancel all pending saves, updates and deletions. Do not close open iterators or instances of `ScrollableResults`.

  Specified by:
    `clear` in interface `Session`

### getBatcher

    public Batcher getBatcher()

  Description copied from interface: `SessionImplementor`
  Get the prepared statement `Batcher` for this session

  Specified by:
    `getBatcher` in interface `SessionImplementor`

### getTimestamp

    public long getTimestamp()

  Description copied from interface: `SessionImplementor`
  System time before the start of the transaction

  Specified by:
    `getTimestamp` in interface `SessionImplementor`

### close

    public Connection close()
                     throws HibernateException

  Description copied from interface: `Session`
  End the session by releasing the JDBC connection and cleaning up. It is not strictly necessary to close the session but you must at least `Session.disconnect()` it.

  Specified by:
    `close` in interface `Session`
  Returns:
    the connection provided by the application or null.
  Throws:
    `HibernateException` - Indicates problems cleaning up.

### getConnectionReleaseMode

    public ConnectionReleaseMode getConnectionReleaseMode()

  Specified by:
    `getConnectionReleaseMode` in interface `JDBCContext.Context`

### isAutoCloseSessionEnabled

    public boolean isAutoCloseSessionEnabled()

  Specified by:
    `isAutoCloseSessionEnabled` in interface `JDBCContext.Context`

### isOpen

    public boolean isOpen()

  Description copied from interface: `Session`
  Check if the session is still open.

  Specified by:
    `isOpen` in interface `SessionImplementor`
  Specified by:
    `isOpen` in interface `Session`
  Returns:
    boolean

### isFlushModeNever

    public boolean isFlushModeNever()

  Specified by:
    `isFlushModeNever` in interface `TransactionFactory.Context`

### isFlushBeforeCompletionEnabled

    public boolean isFlushBeforeCompletionEnabled()

  Specified by:
    `isFlushBeforeCompletionEnabled` in interface `TransactionFactory.Context`

### managedFlush

    public void managedFlush()

  Specified by:
    `managedFlush` in interface `TransactionFactory.Context`

### shouldAutoClose

    public boolean shouldAutoClose()

  Specified by:
    `shouldAutoClose` in interface `TransactionFactory.Context`

### managedClose

    public void managedClose()

  Specified by:
    `managedClose` in interface `TransactionFactory.Context`

### connection

    public Connection connection()
                          throws HibernateException

  Description copied from interface: `Session`
  Get the JDBC connection of this Session.
  If the session is using aggressive collection release (as in a CMT environment), it is the application's responsibility to close the connection returned by this call. Otherwise, the application should not close the connection.

  Specified by:
    `connection` in interface `SessionImplementor`
  Specified by:
    `connection` in interface `Session`
  Returns:
    the JDBC connection in use by the `Session`
  Throws:
    `HibernateException` - if the `Session` is disconnected

### isConnected

    public boolean isConnected()

  Description copied from interface: `Session`
  Check if the session is currently connected.

  Specified by:
    `isConnected` in interface `SessionImplementor`
  Specified by:
    `isConnected` in interface `Session`
  Returns:
    boolean

### isTransactionInProgress

    public boolean isTransactionInProgress()

  Description copied from interface: `SessionImplementor`
  Does this `Session` have an active Hibernate transaction or is there a JTA transaction in progress?

  Specified by:
    `isTransactionInProgress` in interface `SessionImplementor`

### disconnect

    public Connection disconnect()
                          throws HibernateException

  Description copied from interface: `Session`
  Disconnect the `Session` from the current JDBC connection. If the connection was obtained by Hibernate close it and return it to the connection pool; otherwise, return it to the application.

  This is used by applications which supply JDBC connections to Hibernate and which require long-sessions (or long-conversations)

  Note that disconnect() called on a session where the connection was retrieved by Hibernate through its configured `ConnectionProvider` has no effect, provided `ConnectionReleaseMode.ON_CLOSE` is not in effect.

  Specified by:
    `disconnect` in interface `Session`
  Returns:
    the application-supplied connection or `null`
  Throws:
    `HibernateException`
  See Also:
    `Session.reconnect(Connection)`, `Session.reconnect()`

### reconnect

    public void reconnect()
                   throws HibernateException

  Description copied from interface: `Session`
  Obtain a new JDBC connection. This is used by applications which require long transactions and do not supply connections to the session.

  Specified by:
    `reconnect` in interface `Session`
  Throws:
    `HibernateException`
  See Also:
    `Session.disconnect()`

### reconnect

    public void reconnect(Connection conn)
                   throws HibernateException

  Description copied from interface: `Session`
  Reconnect to the given JDBC connection. This is used by applications which require long transactions and use application-supplied connections.

  Specified by:
    `reconnect` in interface `Session`
  Parameters:
    `conn` - a JDBC connection
  Throws:
    `HibernateException`
  See Also:
    `Session.disconnect()`

### beforeTransactionCompletion

    public void beforeTransactionCompletion(Transaction tx)

  Description copied from interface: `SessionImplementor`
  Notify the session that the transaction is about to complete

  Specified by:
    `beforeTransactionCompletion` in interface `SessionImplementor`
  Specified by:
    `beforeTransactionCompletion` in interface `JDBCContext.Context`

### setAutoClear

    public void setAutoClear(boolean enabled)

  Description copied from interface: `SessionImplementor`
  Enable/disable automatic cache clearing from after transaction completion (for EJB3)

  Specified by:
    `setAutoClear` in interface `SessionImplementor`

### afterOperation

    public void afterOperation(boolean success)

  Check if there is a Hibernate or JTA transaction in progress and, if there is not, flush if necessary, make sure the connection has been committed (if it is not in autocommit mode) and run the after completion processing

### afterTransactionCompletion

    public void afterTransactionCompletion(boolean success,
                                           Transaction tx)

  Description copied from interface: `SessionImplementor`
  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.

  Specified by:
    `afterTransactionCompletion` in interface `SessionImplementor`
  Specified by:
    `afterTransactionCompletion` in interface `JDBCContext.Context`

### getCurrentLockMode

    public LockMode getCurrentLockMode(Object object)
                                throws HibernateException

  Description copied from interface: `Session`
  Determine the current lock mode of the given object.

  Specified by:
    `getCurrentLockMode` in interface `Session`
  Parameters:
    `object` - a persistent instance
  Returns:
    the current lock mode
  Throws:
    `HibernateException`

### getEntityUsingInterceptor

    public Object getEntityUsingInterceptor(EntityKey key)
                                     throws HibernateException

  Description copied from interface: `SessionImplementor`
  Get the entity instance associated with the given `Key`, calling the Interceptor if necessary

  Specified by:
    `getEntityUsingInterceptor` in interface `SessionImplementor`
  Throws:
    `HibernateException`

### saveOrUpdate

    public void saveOrUpdate(Object object)
                      throws HibernateException

  Description copied from interface: `Session`
  Either `Session.save(Object)` or `Session.update(Object)` the given instance, depending upon resolution of the unsaved-value checks (see the manual for discussion of unsaved-value checking).

  This operation cascades to associated instances if the association is mapped with `cascade="save-update"`.

  Specified by:
    `saveOrUpdate` in interface `Session`
  Parameters:
    `object` - a transient or detached instance containing new or updated state
  Throws:
    `HibernateException`
  See Also:
    `Session.save(Object)`, `Session.update(Object)`

### saveOrUpdate

    public void saveOrUpdate(String entityName,
                             Object obj)
                      throws HibernateException

  Description copied from interface: `Session`
  Either `Session.save(String, Object)` or `Session.update(String, Object)` the given instance, depending upon resolution of the unsaved-value checks (see the manual for discussion of unsaved-value checking).

  This operation cascades to associated instances if the association is mapped with `cascade="save-update"`.

  Specified by:
    `saveOrUpdate` in interface `Session`
  Parameters:
    `entityName` - The name of the entity
    `obj` - a transient or detached instance containing new or updated state
  Throws:
    `HibernateException`
  See Also:
    `Session.save(String,Object)`, `Session.update(String,Object)`

### save

    public void save(Object obj,
                     Serializable id)
              throws HibernateException

  Throws:
    `HibernateException`

### save

    public Serializable save(Object obj)
                      throws HibernateException

  Description copied from interface: `Session`
  Persist the given transient instance, first assigning a generated identifier. (Or using the current value of the identifier property if the `assigned` generator is used.) This operation cascades to associated instances if the association is mapped with `cascade="save-update"`.

  Specified by:
    `save` in interface `Session`
  Parameters:
    `obj` - a transient instance of a persistent class
  Returns:
    the generated identifier
  Throws:
    `HibernateException`

### save

    public Serializable save(String entityName,
                             Object object)
                      throws HibernateException

  Description copied from interface: `Session`
  Persist the given transient instance, first assigning a generated identifier. (Or using the current value of the identifier property if the `assigned` generator is used.) This operation cascades to associated instances if the association is mapped with `cascade="save-update"`.

  Specified by:
    `save` in interface `Session`
    `object` - a transient instance of a persistent class
  Returns:
    the generated identifier
  Throws:
    `HibernateException`

### save

    public void save(String entityName,
                     Object object,
                     Serializable id)
              throws HibernateException

  Throws:
    `HibernateException`

### update

    public void update(Object obj)
                throws HibernateException

  Description copied from interface: `Session`
  Update the persistent instance with the identifier of the given detached instance. If there is a persistent instance with the same identifier, an exception is thrown. This operation cascades to associated instances if the association is mapped with `cascade="save-update"`.

  Specified by:
    `update` in interface `Session`
  Parameters:
    `obj` - a detached instance containing updated state
  Throws:
    `HibernateException`

### update

    public void update(Object obj,
                       Serializable id)
                throws HibernateException

  Throws:
    `HibernateException`

### update

    public void update(String entityName,
                       Object object)
                throws HibernateException

  Description copied from interface: `Session`
  Update the persistent instance with the identifier of the given detached instance. If there is a persistent instance with the same identifier, an exception is thrown. This operation cascades to associated instances if the association is mapped with `cascade="save-update"`.

  Specified by:
    `update` in interface `Session`
    `object` - a detached instance containing updated state
  Throws:
    `HibernateException`

### update

    public void update(String entityName,
                       Object object,
                       Serializable id)
                throws HibernateException

  Throws:
    `HibernateException`

### lock

    public void lock(String entityName,
                     Object object,
                     LockMode lockMode)
              throws HibernateException

  Description copied from interface: `Session`
  Obtain the specified lock level upon the given object. This may be used to perform a version check (`LockMode.READ`), to upgrade to a pessimistic lock (`LockMode.UPGRADE`), or to simply reassociate a transient instance with a session (`LockMode.NONE`). This operation cascades to associated instances if the association is mapped with `cascade="lock"`.

  Specified by:
    `lock` in interface `Session`
    `object` - a persistent or transient instance
    `lockMode` - the lock level
  Throws:
    `HibernateException`

### lock

    public void lock(Object object,
                     LockMode lockMode)
              throws HibernateException

  Description copied from interface: `Session`
  Obtain the specified lock level upon the given object. This may be used to perform a version check (`LockMode.READ`), to upgrade to a pessimistic lock (`LockMode.UPGRADE`), or to simply reassociate a transient instance with a session (`LockMode.NONE`). This operation cascades to associated instances if the association is mapped with `cascade="lock"`.

  Specified by:
    `lock` in interface `Session`
  Parameters:
    `object` - a persistent or transient instance
    `lockMode` - the lock level
  Throws:
    `HibernateException`

### persist

    public void persist(String entityName,
                        Object object)
                 throws HibernateException

  Description copied from interface: `Session`
  Make a transient instance persistent. This operation cascades to associated instances if the association is mapped with `cascade="persist"`.
  The semantics of this method are defined by JSR-220.

  Specified by:
    `persist` in interface `Session`
    `object` - a transient instance to be made persistent
  Throws:
    `HibernateException`

### persist

    public void persist(Object object)
                 throws HibernateException

  Description copied from interface: `Session`
  Make a transient instance persistent. This operation cascades to associated instances if the association is mapped with `cascade="persist"`.
  The semantics of this method are defined by JSR-220.

  Specified by:
    `persist` in interface `Session`
  Parameters:
    `object` - a transient instance to be made persistent
  Throws:
    `HibernateException`

### persist

    public void persist(String entityName,
                        Object object,
                        Map copiedAlready)
                 throws HibernateException

  Description copied from interface: `EventSource`
  Cascade persist an entity instance

  Specified by:
    `persist` in interface `EventSource`
  Throws:
    `HibernateException`

### persistOnFlush

    public void persistOnFlush(String entityName,
                               Object object)
                        throws HibernateException

  Throws:
    `HibernateException`

### persistOnFlush

    public void persistOnFlush(Object object)
                        throws HibernateException

  Throws:
    `HibernateException`

### persistOnFlush

    public void persistOnFlush(String entityName,
                               Object object,
                               Map copiedAlready)
                        throws HibernateException

  Description copied from interface: `EventSource`
  Cascade persist an entity instance during the flush process

  Specified by:
    `persistOnFlush` in interface `EventSource`
  Throws:
    `HibernateException`

### merge

    public Object merge(String entityName,
                        Object object)
                 throws HibernateException

  Description copied from interface: `Session`
  Copy the state of the given object onto the persistent object with the same identifier. If there is no persistent instance currently associated with the session, it will be loaded. Return the persistent instance. If the given instance is unsaved, save a copy of and return it as a newly persistent instance. The given instance does not become associated with the session. This operation cascades to associated instances if the association is mapped with `cascade="merge"`.
  The semantics of this method are defined by JSR-220.

  Specified by:
    `merge` in interface `Session`
    `object` - a detached instance with state to be copied
  Returns:
    an updated persistent instance
  Throws:
    `HibernateException`

### merge

    public Object merge(Object object)
                 throws HibernateException

  Description copied from interface: `Session`
  Copy the state of the given object onto the persistent object with the same identifier. If there is no persistent instance currently associated with the session, it will be loaded. Return the persistent instance. If the given instance is unsaved, save a copy of and return it as a newly persistent instance. The given instance does not become associated with the session. This operation cascades to associated instances if the association is mapped with `cascade="merge"`.
  The semantics of this method are defined by JSR-220.

  Specified by:
    `merge` in interface `Session`
  Parameters:
    `object` - a detached instance with state to be copied
  Returns:
    an updated persistent instance
  Throws:
    `HibernateException`

### merge

    public void merge(String entityName,
                      Object object,
                      Map copiedAlready)
               throws HibernateException

  Description copied from interface: `EventSource`
  Cascade merge an entity instance

  Specified by:
    `merge` in interface `EventSource`
  Throws:
    `HibernateException`

### saveOrUpdateCopy

    public Object saveOrUpdateCopy(String entityName,
                                   Object object)
                            throws HibernateException

  Throws:
    `HibernateException`

### saveOrUpdateCopy

    public Object saveOrUpdateCopy(Object object)
                            throws HibernateException

  Throws:
    `HibernateException`

### saveOrUpdateCopy

    public Object saveOrUpdateCopy(String entityName,
                                   Object object,
                                   Serializable id)
                            throws HibernateException

  Throws:
    `HibernateException`

### saveOrUpdateCopy

    public Object saveOrUpdateCopy(Object object,
                                   Serializable id)
                            throws HibernateException

  Throws:
    `HibernateException`

### saveOrUpdateCopy

    public void saveOrUpdateCopy(String entityName,
                                 Object object,
                                 Map copiedAlready)
                          throws HibernateException

  Description copied from interface: `EventSource`
  Cascade copy an entity instance

  Specified by:
    `saveOrUpdateCopy` in interface `EventSource`
  Throws:
    `HibernateException`

### delete

    public void delete(Object object)
                throws HibernateException

  Delete a persistent object

  Specified by:
    `delete` in interface `Session`
  Parameters:
    `object` - the instance to be removed
  Throws:
    `HibernateException`

### delete

    public void delete(String entityName,
                       Object object)
                throws HibernateException

  Delete a persistent object (by explicit entity name)

  Specified by:
    `delete` in interface `Session`
  Parameters:
    `entityName` - The entity name for the instance to be removed.
    `object` - the instance to be removed
  Throws:
    `HibernateException`

### delete

    public void delete(String entityName,
                       Object object,
                       boolean isCascadeDeleteEnabled,
                       Set transientEntities)
                throws HibernateException

  Delete a persistent object

  Specified by:
    `delete` in interface `EventSource`
  Throws:
    `HibernateException`

### load

    public void load(Object object,
                     Serializable id)
              throws HibernateException

  Description copied from interface: `Session`
  Read the persistent state associated with the given identifier into the given transient instance.

  Specified by:
    `load` in interface `Session`
  Parameters:
    `object` - an "empty" instance of the persistent class
    `id` - a valid identifier of an existing persistent instance of the class
  Throws:
    `HibernateException`

### load

    public Object load(Class entityClass,
                       Serializable id)
                throws HibernateException

  Description copied from interface: `Session`
  Return the persistent instance of the given entity class with the given identifier, assuming that the instance exists.
  You should not use this method to determine if an instance exists (use `get()` instead). Use this only to retrieve an instance that you assume exists, where non-existence would be an actual error.

  Specified by:
    `load` in interface `Session`
  Parameters:
    `entityClass` - a persistent class
    `id` - a valid identifier of an existing persistent instance of the class
  Returns:
    the persistent instance or proxy
  Throws:
    `HibernateException`

### load

    public Object load(String entityName,
                       Serializable id)
                throws HibernateException

  Description copied from interface: `Session`
  Return the persistent instance of the given entity class with the given identifier, assuming that the instance exists.
  You should not use this method to determine if an instance exists (use `get()` instead). Use this only to retrieve an instance that you assume exists, where non-existence would be an actual error.

  Specified by:
    `load` in interface `Session`
  Parameters:
    `entityName` - a persistent class
    `id` - a valid identifier of an existing persistent instance of the class
  Returns:
    the persistent instance or proxy
  Throws:
    `HibernateException`

### get

    public Object get(Class entityClass,
                      Serializable id)
               throws HibernateException

  Description copied from interface: `Session`
  Return the persistent instance of the given entity class with the given identifier, or null if there is no such persistent instance. (If the instance, or a proxy for the instance, is already associated with the session, return that instance or proxy.)

  Specified by:
    `get` in interface `Session`
  Parameters:
    `entityClass` - a persistent class
    `id` - an identifier
  Returns:
    a persistent instance or null
  Throws:
    `HibernateException`

### get

    public Object get(String entityName,
                      Serializable id)
               throws HibernateException

  Description copied from interface: `Session`
  Return the persistent instance of the given named entity with the given identifier, or null if there is no such persistent instance. (If the instance, or a proxy for the instance, is already associated with the session, return that instance or proxy.)

  Specified by:
    `get` in interface `Session`
  Parameters:
    `entityName` - the entity name
    `id` - an identifier
  Returns:
    a persistent instance or null
  Throws:
    `HibernateException`

### immediateLoad

    public Object immediateLoad(String entityName,
                                Serializable id)
                         throws HibernateException

  Load the data for the object with the specified id into a newly created object. This is only called when lazily initializing a proxy. Do NOT return a proxy.

  Specified by:
    `immediateLoad` in interface `SessionImplementor`
  Throws:
    `HibernateException`

### internalLoad

    public Object internalLoad(String entityName,
                               Serializable id,
                               boolean eager,
                               boolean nullable)
                        throws HibernateException

  Description copied from interface: `SessionImplementor`
  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

  Specified by:
    `internalLoad` in interface `SessionImplementor`
  Throws:
    `HibernateException`

### load

    public Object load(Class entityClass,
                       Serializable id,
                       LockMode lockMode)
                throws HibernateException

  Description copied from interface: `Session`
  Return the persistent instance of the given entity class with the given identifier, obtaining the specified lock mode, assuming the instance exists.

  Specified by:
    `load` in interface `Session`
  Parameters:
    `entityClass` - a persistent class
    `id` - a valid identifier of an existing persistent instance of the class
    `lockMode` - the lock level
  Returns:
    the persistent instance or proxy
  Throws:
    `HibernateException`

### load

    public Object load(String entityName,
                       Serializable id,
                       LockMode lockMode)
                throws HibernateException

  Description copied from interface: `Session`
  Return the persistent instance of the given entity class with the given identifier, obtaining the specified lock mode, assuming the instance exists.

  Specified by:
    `load` in interface `Session`
  Parameters:
    `entityName` - a persistent class
    `id` - a valid identifier of an existing persistent instance of the class
    `lockMode` - the lock level
  Returns:
    the persistent instance or proxy
  Throws:
    `HibernateException`

### get

    public Object get(Class entityClass,
                      Serializable id,
                      LockMode lockMode)
               throws HibernateException

  Description copied from interface: `Session`
  Return the persistent instance of the given entity class with the given identifier, or null if there is no such persistent instance. Obtain the specified lock mode if the instance exists.

  Specified by:
    `get` in interface `Session`
  Parameters:
    `entityClass` - a persistent class
    `id` - an identifier
    `lockMode` - the lock mode
  Returns:
    a persistent instance or null
  Throws:
    `HibernateException`

### get

    public Object get(String entityName,
                      Serializable id,
                      LockMode lockMode)
               throws HibernateException

  Description copied from interface: `Session`
  Return the persistent instance of the given entity class with the given identifier, or null if there is no such persistent instance. Obtain the specified lock mode if the instance exists.

  Specified by:
    `get` in interface `Session`
  Parameters:
    `entityName` - the entity name
    `id` - an identifier
    `lockMode` - the lock mode
  Returns:
    a persistent instance or null
  Throws:
    `HibernateException`

### refresh

    public void refresh(Object object)
                 throws HibernateException

  Description copied from interface: `Session`
  Re-read the state of the given instance from the underlying database. It is inadvisable to use this to implement long-running sessions that span many business tasks. This method is, however, useful in certain special circumstances. For example
  - where a database trigger alters the object state upon insert or update
  - after executing direct SQL (eg. a mass update) in the same session
  - after inserting a `Blob` or `Clob`

  Specified by:
    `refresh` in interface `Session`
  Parameters:
    `object` - a persistent or detached instance
  Throws:
    `HibernateException`

### refresh

    public void refresh(Object object,
                        LockMode lockMode)
                 throws HibernateException

  Description copied from interface: `Session`
  Re-read the state of the given instance from the underlying database, with the given `LockMode`. It is inadvisable to use this to implement long-running sessions that span many business tasks. This method is, however, useful in certain special circumstances.

  Specified by:
    `refresh` in interface `Session`
  Parameters:
    `object` - a persistent or detached instance
    `lockMode` - the lock mode to use
  Throws:
    `HibernateException`

### refresh

    public void refresh(Object object,
                        Map refreshedAlready)
                 throws HibernateException

  Description copied from interface: `EventSource`
  Cascade refesh an entity instance

  Specified by:
    `refresh` in interface `EventSource`
  Throws:
    `HibernateException`

### replicate

    public void replicate(Object obj,
                          ReplicationMode replicationMode)
                   throws HibernateException

  Description copied from interface: `Session`
  Persist the state of the given detached instance, reusing the current identifier value. This operation cascades to associated instances if the association is mapped with `cascade="replicate"`.

  Specified by:
    `replicate` in interface `Session`
  Parameters:
    `obj` - a detached instance of a persistent class
  Throws:
    `HibernateException`

### replicate

    public void replicate(String entityName,
                          Object obj,
                          ReplicationMode replicationMode)
                   throws HibernateException

  Description copied from interface: `Session`
  Persist the state of the given detached instance, reusing the current identifier value. This operation cascades to associated instances if the association is mapped with `cascade="replicate"`.

  Specified by:
    `replicate` in interface `Session`
    `obj` - a detached instance of a persistent class
  Throws:
    `HibernateException`

### evict

    public void evict(Object object)
               throws HibernateException

  remove any hard references to the entity that are held by the infrastructure (references held by application or other persistant instances are okay)

  Specified by:
    `evict` in interface `Session`
  Parameters:
    `object` - a persistent instance
  Throws:
    `HibernateException`

### autoFlushIfRequired

    protected boolean autoFlushIfRequired(Set querySpaces)
                                   throws HibernateException

  detect in-memory changes, determine if the changes are to tables named in the query and, if so, complete execution the flush

  Throws:
    `HibernateException`

### isDirty

    public boolean isDirty()
                    throws HibernateException

  Description copied from interface: `Session`
  Does this session contain any changes which must be synchronized with the database? In other words, would any DML operations be executed if we flushed this session?

  Specified by:
    `isDirty` in interface `Session`
  Returns:
    True if the session contains pending changes; false otherwise.
  Throws:
    `HibernateException` - could not perform dirtying checking

### flush

    public void flush()
               throws HibernateException

  Description copied from interface: `Session`
  Force this session to flush. Must be called at the end of a unit of work, before commiting the transaction and closing the session (depending on `flush-mode`, `Transaction.commit()` calls this method).

  Flushing is the process of synchronizing the underlying persistent store with persistable state held in memory.

  Specified by:
    `flush` in interface `SessionImplementor`
  Specified by:
    `flush` in interface `Session`
  Throws:
    `HibernateException` - Indicates problems flushing the session or talking to the database.

### forceFlush

    public void forceFlush(EntityEntry entityEntry)
                    throws HibernateException

  Description copied from interface: `EventSource`
  Force an immediate flush

  Specified by:
    `forceFlush` in interface `EventSource`
  Throws:
    `HibernateException`

### getEnabledFilter

    public Filter getEnabledFilter(String filterName)

  Description copied from interface: `Session`
  Retrieve a currently enabled filter by name.

  Specified by:
    `getEnabledFilter` in interface `Session`
  Parameters:
    `filterName` - The name of the filter to be retrieved.
  Returns:
    The Filter instance representing the enabled fiter.

### enableFilter

    public Filter enableFilter(String filterName)

  Description copied from interface: `Session`
  Enable the named filter for this current session.

  Specified by:
    `enableFilter` in interface `Session`
  Parameters:
    `filterName` - The name of the filter to be enabled.
  Returns:
    The Filter instance representing the enabled fiter.

### disableFilter

    public void disableFilter(String filterName)

  Description copied from interface: `Session`
  Disable the named filter for the current session.

  Specified by:
    `disableFilter` in interface `Session`
  Parameters:
    `filterName` - The name of the filter to be disabled.

### getFilterParameterValue

    public Object getFilterParameterValue(String filterParameterName)

  Description copied from interface: `SessionImplementor`
  Retreive the currently set value for a filter parameter.

  Specified by:
    `getFilterParameterValue` in interface `SessionImplementor`
  Parameters:
    `filterParameterName` - The filter parameter name in the format {FILTER_NAME.PARAMETER_NAME}.
  Returns:
    The filter parameter value.

### getFilterParameterType

    public Type getFilterParameterType(String filterParameterName)

  Description copied from interface: `SessionImplementor`
  Retreive the type for a given filter parrameter.

  Specified by:
    `getFilterParameterType` in interface `SessionImplementor`
  Parameters:
    `filterParameterName` - The filter parameter name in the format {FILTER_NAME.PARAMETER_NAME}.

### getEnabledFilters

    public Map getEnabledFilters()

  Description copied from interface: `SessionImplementor`
  Return the currently enabled filters. The filter map is keyed by filter name, with values corresponding to the `FilterImpl` instance.

  Specified by:
    `getEnabledFilters` in interface `SessionImplementor`
  Returns:
    The currently enabled filters.

### find

    public List find(String query)
              throws HibernateException

  Retrieve a list of persistent objects using a hibernate query

  Throws:
    `HibernateException`

### find

    public List find(String query,
                     Object value,
                     Type type)
              throws HibernateException

  Throws:
    `HibernateException`

### find

    public List find(String query,
                     Object[] values,
                     Type[] types)
              throws HibernateException

  Throws:
    `HibernateException`

### list

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

  Description copied from interface: `SessionImplementor`
  Execute a `find()` query

  Specified by:
    `list` in interface `SessionImplementor`
  Throws:
    `HibernateException`

### executeUpdate

    public int executeUpdate(String query,
                             QueryParameters queryParameters)
                      throws HibernateException

  Description copied from interface: `SessionImplementor`
  Execute a HQL update or delete query

  Specified by:
    `executeUpdate` in interface `SessionImplementor`
  Throws:
    `HibernateException`

### executeNativeUpdate

    public int executeNativeUpdate(NativeSQLQuerySpecification nativeQuerySpecification,
                                   QueryParameters queryParameters)
                            throws HibernateException

  Description copied from interface: `SessionImplementor`
  Execute a native SQL update or delete query

  Specified by:
    `executeNativeUpdate` in interface `SessionImplementor`
  Throws:
    `HibernateException`

### iterate

    public Iterator iterate(String query)
                     throws HibernateException

  Throws:
    `HibernateException`

### iterate

    public Iterator iterate(String query,
                            Object value,
                            Type type)
                     throws HibernateException

  Throws:
    `HibernateException`

### iterate

    public Iterator iterate(String query,
                            Object[] values,
                            Type[] types)
                     throws HibernateException

  Throws:
    `HibernateException`

### iterate

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

  Description copied from interface: `SessionImplementor`
  Execute an `iterate()` query

  Specified by:
    `iterate` in interface `SessionImplementor`
  Throws:
    `HibernateException`

### scroll

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

  Description copied from interface: `SessionImplementor`
  Execute a `scroll()` query

  Specified by:
    `scroll` in interface `SessionImplementor`
  Throws:
    `HibernateException`

### delete

    public int delete(String query)
               throws HibernateException

  Throws:
    `HibernateException`

### delete

    public int delete(String query,
                      Object value,
                      Type type)
               throws HibernateException

  Throws:
    `HibernateException`

### delete

    public int delete(String query,
                      Object[] values,
                      Type[] types)
               throws HibernateException

  Throws:
    `HibernateException`

### createFilter

    public Query createFilter(Object collection,
                              String queryString)

  Description copied from interface: `Session`
  Create a new instance of `Query` for the given collection and filter string.

  Specified by:
    `createFilter` in interface `Session`
  Parameters:
    `collection` - a persistent collection
    `queryString` - a Hibernate query
  Returns:
    Query

### getNamedQuery

    public Query getNamedQuery(String queryName)
                        throws MappingException

  Description copied from interface: `SessionImplementor`
  Get a Query instance for a named query or named native SQL query

  Specified by:
    `getNamedQuery` in interface `SessionImplementor`
  Specified by:
    `getNamedQuery` in interface `Session`
  Overrides:
    `getNamedQuery` in class `AbstractSessionImpl`
  Parameters:
    `queryName` - the name of a query defined externally
  Returns:
    Query
  Throws:
    `MappingException`

### instantiate

    public Object instantiate(String entityName,
                              Serializable id)
                       throws HibernateException

  Description copied from interface: `SessionImplementor`
  Instantiate the entity class, initializing with the given identifier

  Specified by:
    `instantiate` in interface `SessionImplementor`
  Throws:
    `HibernateException`

### instantiate

    public Object instantiate(EntityPersister persister,
                              Serializable id)
                       throws HibernateException

  give the interceptor an opportunity to override the default instantiation

  Specified by:
    `instantiate` in interface `EventSource`
  Throws:
    `HibernateException`

### getEntityMode

    public EntityMode getEntityMode()

  Description copied from interface: `Session`
  Retrieve the entity mode in effect for this session.

  Specified by:
    `getEntityMode` in interface `SessionImplementor`
  Specified by:
    `getEntityMode` in interface `Session`
  Returns:
    The entity mode for this session.

### setFlushMode

    public void setFlushMode(FlushMode flushMode)

  Description copied from interface: `Session`
  Set the flush mode for this session.

  The flush mode determines the points at which the session is flushed. Flushing is the process of synchronizing the underlying persistent store with persistable state held in memory.

  For a logically "read only" session, it is reasonable to set the session's flush mode to `FlushMode.MANUAL` at the start of the session (in order to achieve some extra performance).

  Specified by:
    `setFlushMode` in interface `SessionImplementor`
  Specified by:
    `setFlushMode` in interface `Session`
  Parameters:
    `flushMode` - the new flush mode
  See Also:
    `FlushMode`

### getFlushMode

    public FlushMode getFlushMode()

  Description copied from interface: `Session`
  Get the current flush mode for this session.

  Specified by:
    `getFlushMode` in interface `SessionImplementor`
  Specified by:
    `getFlushMode` in interface `Session`
  Returns:
    The flush mode

### getCacheMode

    public CacheMode getCacheMode()

  Description copied from interface: `Session`
  Get the current cache mode.

  Specified by:
    `getCacheMode` in interface `SessionImplementor`
  Specified by:
    `getCacheMode` in interface `Session`
  Returns:
    The current cache mode.

### setCacheMode

    public void setCacheMode(CacheMode cacheMode)

  Description copied from interface: `Session`
  Set the cache mode.

  Cache mode determines the manner in which this session can interact with the second level cache.

  Specified by:
    `setCacheMode` in interface `SessionImplementor`
  Specified by:
    `setCacheMode` in interface `Session`
  Parameters:
    `cacheMode` - The new cache mode.

### getTransaction

    public Transaction getTransaction()
                               throws HibernateException

  Description copied from interface: `Session`
  Get the `Transaction` instance associated with this session. The class of the returned `Transaction` object is determined by the property `hibernate.transaction_factory`.

  Specified by:
    `getTransaction` in interface `Session`
  Returns:
    a Transaction instance
  Throws:
    `HibernateException`
  See Also:
    `Transaction`

### beginTransaction

    public Transaction beginTransaction()
                                 throws HibernateException

  Description copied from interface: `Session`
  Begin a unit of work and return the associated `Transaction` object. If a new underlying transaction is required, begin the transaction. Otherwise continue the new work in the context of the existing underlying transaction. The class of the returned `Transaction` object is determined by the property `hibernate.transaction_factory`.

  Specified by:
    `beginTransaction` in interface `Session`
  Returns:
    a Transaction instance
  Throws:
    `HibernateException`
  See Also:
    `Transaction`

### afterTransactionBegin

    public void afterTransactionBegin(Transaction tx)

  Description copied from interface: `JDBCContext.Context`
  We cannot rely upon this method being called! It is only called if we are using Hibernate Transaction API.

  Specified by:
    `afterTransactionBegin` in interface `JDBCContext.Context`

### getEntityPersister

    public EntityPersister getEntityPersister(String entityName,
                                              Object object)

  Description copied from interface: `SessionImplementor`
  Get the `EntityPersister` for any instance

  Specified by:
    `getEntityPersister` in interface `SessionImplementor`
  Parameters:
    `entityName` - optional entity name
    `object` - the entity instance

### getIdentifier

    public Serializable getIdentifier(Object object)
                               throws HibernateException

  Description copied from interface: `Session`
  Return the identifier value of the given entity as associated with this session. An exception is thrown if the given entity instance is transient or detached in relation to this session.

  Specified by:
    `getIdentifier` in interface `Session`
  Parameters:
    `object` - a persistent instance
  Returns:
    the identifier
  Throws:
    `TransientObjectException` - if the instance is transient or associated with a different session
    `HibernateException`

### getContextEntityIdentifier

    public Serializable getContextEntityIdentifier(Object object)

  Get the id value for an object that is actually associated with the session. This is a bit stricter than getEntityIdentifierIfNotUnsaved().

  Specified by:
    `getContextEntityIdentifier` in interface `SessionImplementor`

### filter

    public Collection filter(Object collection,
                             String filter)
                      throws HibernateException

  Throws:
    `HibernateException`

### filter

    public Collection filter(Object collection,
                             String filter,
                             Object value,
                             Type type)
                      throws HibernateException

  Throws:
    `HibernateException`

### filter

    public Collection filter(Object collection,
                             String filter,
                             Object[] values,
                             Type[] types)
                      throws HibernateException

  Throws:
    `HibernateException`

### listFilter

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

  Description copied from interface: `SessionImplementor`
  Execute a filter

  Specified by:
    `listFilter` in interface `SessionImplementor`
  Throws:
    `HibernateException`

### iterateFilter

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

  Description copied from interface: `SessionImplementor`
  Iterate a filter

  Specified by:
    `iterateFilter` in interface `SessionImplementor`
  Throws:
    `HibernateException`

### createCriteria

    public Criteria createCriteria(Class persistentClass,
                                   String alias)

  Description copied from interface: `Session`
  Create a new `Criteria` instance, for the given entity class, or a superclass of an entity class, with the given alias.

  Specified by:
    `createCriteria` in interface `Session`
  Parameters:
    `persistentClass` - a class, which is persistent, or has persistent subclasses
  Returns:
    Criteria

### createCriteria

    public Criteria createCriteria(String entityName,
                                   String alias)

  Description copied from interface: `Session`
  Create a new `Criteria` instance, for the given entity name, with the given alias.

  Specified by:
    `createCriteria` in interface `Session`
  Returns:
    Criteria

### createCriteria

    public Criteria createCriteria(Class persistentClass)

  Description copied from interface: `Session`
  Create a new `Criteria` instance, for the given entity class, or a superclass of an entity class.

  Specified by:
    `createCriteria` in interface `Session`
  Parameters:
    `persistentClass` - a class, which is persistent, or has persistent subclasses
  Returns:
    Criteria

### createCriteria

    public Criteria createCriteria(String entityName)

  Description copied from interface: `Session`
  Create a new `Criteria` instance, for the given entity name.

  Specified by:
    `createCriteria` in interface `Session`
  Returns:
    Criteria

### scroll

    public ScrollableResults scroll(CriteriaImpl criteria,
                                    ScrollMode scrollMode)

  Description copied from interface: `SessionImplementor`
  Execute a criteria query

  Specified by:
    `scroll` in interface `SessionImplementor`

### list

    public List list(CriteriaImpl criteria)
              throws HibernateException

  Description copied from interface: `SessionImplementor`
  Execute a criteria query

  Specified by:
    `list` in interface `SessionImplementor`
  Throws:
    `HibernateException`

### contains

    public boolean contains(Object object)

  Description copied from interface: `Session`
  Check if this instance is associated with this `Session`.

  Specified by:
    `contains` in interface `Session`
  Parameters:
    `object` - an instance of a persistent class
  Returns:
    true if the given instance is associated with this `Session`

### createQuery

    public Query createQuery(String queryString)

  Description copied from interface: `Session`
  Create a new instance of `Query` for the given HQL query string.

  Specified by:
    `createQuery` in interface `Session`
  Overrides:
    `createQuery` in class `AbstractSessionImpl`
  Parameters:
    `queryString` - a HQL query
  Returns:
    Query

### createSQLQuery

    public SQLQuery createSQLQuery(String sql)

  Description copied from interface: `Session`
  Create a new instance of `SQLQuery` for the given SQL query string.

  Specified by:
    `createSQLQuery` in interface `Session`
  Overrides:
    `createSQLQuery` in class `AbstractSessionImpl`
  Parameters:
    `sql` - a SQL query
  Returns:
    SQLQuery

### createSQLQuery

    public Query createSQLQuery(String sql,
                                String returnAlias,
                                Class returnClass)

### createSQLQuery

    public Query createSQLQuery(String sql,
                                String[] returnAliases,
                                Class[] returnClasses)

### scrollCustomQuery

    public ScrollableResults scrollCustomQuery(CustomQuery customQuery,
                                               QueryParameters queryParameters)
                                        throws HibernateException

  Description copied from interface: `SessionImplementor`
  Execute an SQL Query

  Specified by:
    `scrollCustomQuery` in interface `SessionImplementor`
  Throws:
    `HibernateException`

### listCustomQuery

    public List listCustomQuery(CustomQuery customQuery,
                                QueryParameters queryParameters)
                         throws HibernateException

  Description copied from interface: `SessionImplementor`
  Execute an SQL Query

  Specified by:
    `listCustomQuery` in interface `SessionImplementor`
  Throws:
    `HibernateException`

### getSessionFactory

    public SessionFactory getSessionFactory()

  Description copied from interface: `Session`
  Get the session factory which created this session.

  Specified by:
    `getSessionFactory` in interface `Session`
  Returns:
    The session factory.
  See Also:
    `SessionFactory`

### initializeCollection

    public void initializeCollection(PersistentCollection collection,
                                     boolean writing)
                              throws HibernateException

  Description copied from interface: `SessionImplementor`
  Initialize the collection (if not already initialized)

  Specified by:
    `initializeCollection` in interface `SessionImplementor`
  Throws:
    `HibernateException`

### bestGuessEntityName

    public String bestGuessEntityName(Object object)

  Description copied from interface: `SessionImplementor`
  The best guess entity name for an entity not in an association

  Specified by:
    `bestGuessEntityName` in interface `SessionImplementor`

### getEntityName

    public String getEntityName(Object object)

  Description copied from interface: `Session`
  Return the entity name for a persistent entity

  Specified by:
    `getEntityName` in interface `Session`
  Parameters:
    `object` - a persistent entity
  Returns:
    the entity name

### guessEntityName

    public String guessEntityName(Object object)
                           throws HibernateException

  Description copied from interface: `SessionImplementor`
  The guessed entity name for an entity not in an association

  Specified by:
    `guessEntityName` in interface `SessionImplementor`
  Throws:
    `HibernateException`

### cancelQuery

    public void cancelQuery()
                     throws HibernateException

  Description copied from interface: `Session`
  Cancel the execution of the current query.

  This is the sole method on session which may be safely called from another thread.

  Specified by:
    `cancelQuery` in interface `Session`
  Throws:
    `HibernateException` - There was a problem canceling the query

### getInterceptor

    public Interceptor getInterceptor()

  Description copied from interface: `SessionImplementor`
  Retrieves the interceptor currently in use by this event source.

  Specified by:
    `getInterceptor` in interface `SessionImplementor`
  Returns:
    The interceptor.

### getDontFlushFromFind

    public int getDontFlushFromFind()

  Specified by:
    `getDontFlushFromFind` in interface `SessionImplementor`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### getListeners

    public EventListeners getListeners()

  Description copied from interface: `SessionImplementor`
  Retrieves the configured event listeners from this event source.

  Specified by:
    `getListeners` in interface `SessionImplementor`
  Returns:
    The configured event listeners.

### getActionQueue

    public ActionQueue getActionQueue()

  Description copied from interface: `EventSource`
  Get the ActionQueue for this session

  Specified by:
    `getActionQueue` in interface `EventSource`

### getPersistenceContext

    public PersistenceContext getPersistenceContext()

  Description copied from interface: `SessionImplementor`
  Get the persistence context for this session

  Specified by:
    `getPersistenceContext` in interface `SessionImplementor`

### getStatistics

    public SessionStatistics getStatistics()

  Description copied from interface: `Session`
  Get the statistics for this session.

  Specified by:
    `getStatistics` in interface `Session`

### isEventSource

    public boolean isEventSource()

  Specified by:
    `isEventSource` in interface `SessionImplementor`

### setReadOnly

    public void setReadOnly(Object entity,
                            boolean readOnly)

  Description copied from interface: `Session`
  Set an unmodified persistent object to read only mode, or a read only object to modifiable mode. In read only mode, no snapshot is maintained and the instance is never dirty checked.

  Specified by:
    `setReadOnly` in interface `Session`
  See Also:
    `Query.setReadOnly(boolean)`

### afterScrollOperation

    public void afterScrollOperation()

  Specified by:
    `afterScrollOperation` in interface `SessionImplementor`

### getFetchProfile

    public String getFetchProfile()

  Specified by:
    `getFetchProfile` in interface `SessionImplementor`

### getJDBCContext

    public JDBCContext getJDBCContext()

  Specified by:
    `getJDBCContext` in interface `SessionImplementor`

### setFetchProfile

    public void setFetchProfile(String fetchProfile)

  Specified by:
    `setFetchProfile` in interface `SessionImplementor`

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