## org.hibernate
Interface StatelessSession

All Superinterfaces:
  Serializable

All Known Implementing Classes:
  StatelessSessionImpl

    public interface StatelessSession

extends Serializable

A command-oriented API for performing bulk operations against a database.

A stateless session does not implement a first-level cache nor interact with any second-level cache, nor does it implement transactional write-behind or automatic dirty checking, nor do operations cascade to associated instances. Collections are ignored by a stateless session. Operations performed via a stateless session bypass Hibernate's event model and interceptors. Stateless sessions are vulnerable to data aliasing effects, due to the lack of a first-level cache.

For certain kinds of transactions, a stateless session may perform slightly faster than a stateful session.

Author:
  Gavin King

Method Summary
`Transaction` `beginTransaction()` Begin a Hibernate transaction.
`void` `close()` Close the stateless session and release the JDBC connection.
`Connection` `connection()` Returns the current JDBC connection associated with this instance. If the session is using aggressive connection release (as in a CMT environment), it is the application's responsibility to close the connection returned by this call.
`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` `createQuery(String queryString)` Create a new instance of `Query` for the given HQL query string.
`SQLQuery` `createSQLQuery(String queryString)` Create a new instance of `SQLQuery` for the given SQL query string.
`void` `delete(Object entity)` Delete a row.
`void` `delete(String entityName, Object entity)` Delete a row.
`Object` `get(Class entityClass, Serializable id)` Retrieve a row.
`Object` `get(Class entityClass, Serializable id, LockMode lockMode)` Retrieve a row, obtaining the specified lock mode.
`Object` `get(String entityName, Serializable id)` Retrieve a row.
`Object` `get(String entityName, Serializable id, LockMode lockMode)` Retrieve a row, obtaining the specified lock mode.
`Query` `getNamedQuery(String queryName)` Obtain an instance of `Query` for a named query string defined in the mapping file.
`Transaction` `getTransaction()` Get the current Hibernate transaction.
`Serializable` `insert(Object entity)` Insert a row.
`Serializable` `insert(String entityName, Object entity)` Insert a row.
`void` `refresh(Object entity)` Refresh the entity instance state from the database.
`void` `refresh(Object entity, LockMode lockMode)` Refresh the entity instance state from the database.
`void` `refresh(String entityName, Object entity)` Refresh the entity instance state from the database.
`void` `refresh(String entityName, Object entity, LockMode lockMode)` Refresh the entity instance state from the database.
`void` `update(Object entity)` Update a row.
`void` `update(String entityName, Object entity)` Update a row.

Method Detail

### close

    void close()

  Close the stateless session and release the JDBC connection.

### insert

    Serializable insert(Object entity)

  Insert a row.

  Parameters:
    `entity` - a new transient instance

### insert

    Serializable insert(String entityName,
                        Object entity)

  Insert a row.

  Parameters:
    `entityName` - The entityName for the entity to be inserted
    `entity` - a new transient instance
  Returns:
    the identifier of the instance

### update

    void update(Object entity)

  Update a row.

  Parameters:
    `entity` - a detached entity instance

### update

    void update(String entityName,
                Object entity)

  Update a row.

  Parameters:
    `entityName` - The entityName for the entity to be updated
    `entity` - a detached entity instance

### delete

    void delete(Object entity)

  Delete a row.

  Parameters:
    `entity` - a detached entity instance

### delete

    void delete(String entityName,
                Object entity)

  Delete a row.

  Parameters:
    `entityName` - The entityName for the entity to be deleted
    `entity` - a detached entity instance

### get

    Object get(String entityName,
               Serializable id)

  Retrieve a row.

  Returns:
    a detached entity instance

### get

    Object get(Class entityClass,
               Serializable id)

  Retrieve a row.

  Returns:
    a detached entity instance

### get

    Object get(String entityName,
               Serializable id,
               LockMode lockMode)

  Retrieve a row, obtaining the specified lock mode.

  Returns:
    a detached entity instance

### get

    Object get(Class entityClass,
               Serializable id,
               LockMode lockMode)

  Retrieve a row, obtaining the specified lock mode.

  Returns:
    a detached entity instance

### refresh

    void refresh(Object entity)

  Refresh the entity instance state from the database.

  Parameters:
    `entity` - The entity to be refreshed.

### refresh

    void refresh(String entityName,
                 Object entity)

  Refresh the entity instance state from the database.

  Parameters:
    `entityName` - The entityName for the entity to be refreshed.
    `entity` - The entity to be refreshed.

### refresh

    void refresh(Object entity,
                 LockMode lockMode)

  Refresh the entity instance state from the database.

  Parameters:
    `entity` - The entity to be refreshed.
    `lockMode` - The LockMode to be applied.

### refresh

    void refresh(String entityName,
                 Object entity,
                 LockMode lockMode)

  Refresh the entity instance state from the database.

  Parameters:
    `entityName` - The entityName for the entity to be refreshed.
    `entity` - The entity to be refreshed.
    `lockMode` - The LockMode to be applied.

### createQuery

    Query createQuery(String queryString)

  Create a new instance of `Query` for the given HQL query string. Entities returned by the query are detached.

### getNamedQuery

    Query getNamedQuery(String queryName)

  Obtain an instance of `Query` for a named query string defined in the mapping file. Entities returned by the query are detached.

### createCriteria

    Criteria createCriteria(Class persistentClass)

  Create a new `Criteria` instance, for the given entity class, or a superclass of an entity class. Entities returned by the query are detached.

  Parameters:
    `persistentClass` - a class, which is persistent, or has persistent subclasses
  Returns:
    Criteria

### createCriteria

    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. Entities returned by the query are detached.

  Parameters:
    `persistentClass` - a class, which is persistent, or has persistent subclasses
  Returns:
    Criteria

### createCriteria

    Criteria createCriteria(String entityName)

  Create a new `Criteria` instance, for the given entity name. Entities returned by the query are detached.

  Parameters:
    `entityName` -
  Returns:
    Criteria

### createCriteria

    Criteria createCriteria(String entityName,
                            String alias)

  Create a new `Criteria` instance, for the given entity name, with the given alias. Entities returned by the query are detached.

  Parameters:
    `entityName` -
  Returns:
    Criteria

### createSQLQuery

    SQLQuery createSQLQuery(String queryString)
                            throws HibernateException

  Create a new instance of `SQLQuery` for the given SQL query string. Entities returned by the query are detached.

  Parameters:
    `queryString` - a SQL query
  Returns:
    SQLQuery
  Throws:
    `HibernateException`

### beginTransaction

    Transaction beginTransaction()

  Begin a Hibernate transaction.

### getTransaction

    Transaction getTransaction()

  Get the current Hibernate transaction.

### connection

    Connection connection()

  Returns the current JDBC connection associated with this instance.
  If the session is using aggressive connection 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.

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