org.hibernate

Interface StatelessSession

All Superinterfaces:
Serializable
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 Details

beginTransaction

public Transaction beginTransaction()
Begin a Hibernate transaction.

close

public void close()
Close the stateless session and release the JDBC connection.

connection

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

createCriteria

public 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

public 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

public 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

public 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

createQuery

public Query createQuery(String queryString)
Create a new instance of Query for the given HQL query string. Entities returned by the query are detached.

createSQLQuery

public 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

delete

public void delete(Object entity)
Delete a row.
Parameters:
entity - a detached entity instance

delete

public 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

public Object get(Class entityClass,
                  Serializable id)
Retrieve a row.
Returns:
a detached entity instance

get

public Object get(Class entityClass,
                  Serializable id,
                  LockMode lockMode)
Retrieve a row, obtaining the specified lock mode.
Returns:
a detached entity instance

get

public Object get(String entityName,
                  Serializable id)
Retrieve a row.
Returns:
a detached entity instance

get

public Object get(String entityName,
                  Serializable id,
                  LockMode lockMode)
Retrieve a row, obtaining the specified lock mode.
Returns:
a detached entity instance

getNamedQuery

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

getTransaction

public Transaction getTransaction()
Get the current Hibernate transaction.

insert

public Serializable insert(Object entity)
Insert a row.
Parameters:
entity - a new transient instance

insert

public 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

refresh

public void refresh(Object entity)
Refresh the entity instance state from the database.
Parameters:
entity - The entity to be refreshed.

refresh

public 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

public 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

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

update

public void update(Object entity)
Update a row.
Parameters:
entity - a detached entity instance

update

public void update(String entityName,
                   Object entity)
Update a row.
Parameters:
entityName - The entityName for the entity to be updated
entity - a detached entity instance