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

  • Method Details

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