Interface that specifies a basic set of Hibernate operations,
implemented by
. Not often used, but a useful
option to enhance testability, as it can easily be mocked or stubbed.
| Method from org.springframework.orm.hibernate3.HibernateOperations Detail: |
public int bulkUpdate(String queryString) throws DataAccessException
Update/delete all objects according to the given query. |
public int bulkUpdate(String queryString,
Object value) throws DataAccessException
Update/delete all objects according to the given query, binding one value
to a "?" parameter in the query string. |
public int bulkUpdate(String queryString,
Object values) throws DataAccessException
Update/delete all objects according to the given query, binding a number of
values to "?" parameters in the query string. |
public void clear() throws DataAccessException
Remove all objects from the org.hibernate.Session cache, and
cancel all pending saves, updates and deletes. |
public void closeIterator(Iterator it) throws DataAccessException
Immediately close an Iterator created by any of the various
iterate(..) operations, instead of waiting until the
session is closed or disconnected. |
public boolean contains(Object entity) throws DataAccessException
Check whether the given object is in the Session cache. |
public void delete(Object entity) throws DataAccessException
Delete the given persistent instance. |
public void delete(Object entity,
LockMode lockMode) throws DataAccessException
Delete the given persistent instance.
Obtains the specified lock mode if the instance exists, implicitly
checking whether the corresponding database entry still exists. |
public void delete(String entityName,
Object entity) throws DataAccessException
Delete the given persistent instance. |
public void delete(String entityName,
Object entity,
LockMode lockMode) throws DataAccessException
Delete the given persistent instance.
Obtains the specified lock mode if the instance exists, implicitly
checking whether the corresponding database entry still exists. |
public void deleteAll(Collection entities) throws DataAccessException
|
public Filter enableFilter(String filterName) throws IllegalStateException
Return an enabled Hibernate Filter for the given filter name.
The returned Filter instance can be used to set filter parameters. |
public void evict(Object entity) throws DataAccessException
|
public T execute(HibernateCallback<T> action) throws DataAccessException
Execute the action specified by the given action object within a
org.hibernate.Session .
Application exceptions thrown by the action object get propagated
to the caller (can only be unchecked). Hibernate exceptions are
transformed into appropriate DAO ones. Allows for returning a result
object, that is a domain object or a collection of domain objects.
Note: Callback code is not supposed to handle transactions itself!
Use an appropriate transaction manager like
HibernateTransactionManager . Generally, callback code must not
touch any Session lifecycle methods, like close,
disconnect, or reconnect, to let the template do its work. |
public List executeFind(HibernateCallback<?> action) throws DataAccessException
|
public List find(String queryString) throws DataAccessException
|
public List find(String queryString,
Object value) throws DataAccessException
Execute an HQL query, binding one value to a "?" parameter in the
query string. |
public List find(String queryString,
Object values) throws DataAccessException
Execute an HQL query, binding a number of values to "?" parameters
in the query string. |
public List findByCriteria(DetachedCriteria criteria) throws DataAccessException
Execute a query based on a given Hibernate criteria object. |
public List findByCriteria(DetachedCriteria criteria,
int firstResult,
int maxResults) throws DataAccessException
Execute a query based on the given Hibernate criteria object. |
public List findByExample(Object exampleEntity) throws DataAccessException
Execute a query based on the given example entity object. |
public List findByExample(String entityName,
Object exampleEntity) throws DataAccessException
Execute a query based on the given example entity object. |
public List findByExample(Object exampleEntity,
int firstResult,
int maxResults) throws DataAccessException
Execute a query based on a given example entity object. |
public List findByExample(String entityName,
Object exampleEntity,
int firstResult,
int maxResults) throws DataAccessException
Execute a query based on a given example entity object. |
public List findByNamedParam(String queryString,
String paramName,
Object value) throws DataAccessException
Execute an HQL query, binding one value to a ":" named parameter
in the query string. |
public List findByNamedParam(String queryString,
String[] paramNames,
Object[] values) throws DataAccessException
Execute an HQL query, binding a number of values to ":" named
parameters in the query string. |
public List findByNamedQuery(String queryName) throws DataAccessException
|
public List findByNamedQuery(String queryName,
Object value) throws DataAccessException
|
public List findByNamedQuery(String queryName,
Object values) throws DataAccessException
|
public List findByNamedQueryAndNamedParam(String queryName,
String paramName,
Object value) throws DataAccessException
|
public List findByNamedQueryAndNamedParam(String queryName,
String[] paramNames,
Object[] values) throws DataAccessException
|
public List findByNamedQueryAndValueBean(String queryName,
Object valueBean) throws DataAccessException
|
public List findByValueBean(String queryString,
Object valueBean) throws DataAccessException
Execute an HQL query, binding the properties of the given bean to
named parameters in the query string. |
public void flush() throws DataAccessException
Flush all pending saves, updates and deletes to the database.
Only invoke this for selective eager flushing, for example when
JDBC code needs to see certain changes within the same transaction.
Else, it is preferable to rely on auto-flushing at transaction
completion. |
public T get(Class<T> entityClass,
Serializable id) throws DataAccessException
Return the persistent instance of the given entity class
with the given identifier, or null if not found.
This method is a thin wrapper around
org.hibernate.Session#get(Class, java.io.Serializable) for convenience.
For an explanation of the exact semantics of this method, please do refer to
the Hibernate API documentation in the first instance. |
public Object get(String entityName,
Serializable id) throws DataAccessException
Return the persistent instance of the given entity class
with the given identifier, or null if not found.
This method is a thin wrapper around
org.hibernate.Session#get(String, java.io.Serializable) for convenience.
For an explanation of the exact semantics of this method, please do refer to
the Hibernate API documentation in the first instance. |
public T get(Class<T> entityClass,
Serializable id,
LockMode lockMode) throws DataAccessException
Return the persistent instance of the given entity class
with the given identifier, or null if not found.
Obtains the specified lock mode if the instance exists.
This method is a thin wrapper around
org.hibernate.Session#get(Class, java.io.Serializable, LockMode) for convenience.
For an explanation of the exact semantics of this method, please do refer to
the Hibernate API documentation in the first instance. |
public Object get(String entityName,
Serializable id,
LockMode lockMode) throws DataAccessException
Return the persistent instance of the given entity class
with the given identifier, or null if not found.
Obtains the specified lock mode if the instance exists.
This method is a thin wrapper around
org.hibernate.Session#get(String, java.io.Serializable, LockMode) for convenience.
For an explanation of the exact semantics of this method, please do refer to
the Hibernate API documentation in the first instance. |
public void initialize(Object proxy) throws DataAccessException
Force initialization of a Hibernate proxy or persistent collection. |
public Iterator iterate(String queryString) throws DataAccessException
Execute a query for persistent instances.
Returns the results as an Iterator . Entities returned are
initialized on demand. See the Hibernate API documentation for details. |
public Iterator iterate(String queryString,
Object value) throws DataAccessException
Execute a query for persistent instances, binding one value
to a "?" parameter in the query string.
Returns the results as an Iterator . Entities returned are
initialized on demand. See the Hibernate API documentation for details. |
public Iterator iterate(String queryString,
Object values) throws DataAccessException
Execute a query for persistent instances, binding a number of
values to "?" parameters in the query string.
Returns the results as an Iterator . Entities returned are
initialized on demand. See the Hibernate API documentation for details. |
public T load(Class<T> entityClass,
Serializable id) throws DataAccessException
Return the persistent instance of the given entity class
with the given identifier, throwing an exception if not found.
This method is a thin wrapper around
org.hibernate.Session#load(Class, java.io.Serializable) for convenience.
For an explanation of the exact semantics of this method, please do refer to
the Hibernate API documentation in the first instance. |
public Object load(String entityName,
Serializable id) throws DataAccessException
Return the persistent instance of the given entity class
with the given identifier, throwing an exception if not found.
This method is a thin wrapper around
org.hibernate.Session#load(String, java.io.Serializable) for convenience.
For an explanation of the exact semantics of this method, please do refer to
the Hibernate API documentation in the first instance. |
public void load(Object entity,
Serializable id) throws DataAccessException
Load the persistent instance with the given identifier
into the given object, throwing an exception if not found.
This method is a thin wrapper around
org.hibernate.Session#load(Object, java.io.Serializable) for convenience.
For an explanation of the exact semantics of this method, please do refer to
the Hibernate API documentation in the first instance. |
public T load(Class<T> entityClass,
Serializable id,
LockMode lockMode) throws DataAccessException
Return the persistent instance of the given entity class
with the given identifier, throwing an exception if not found.
Obtains the specified lock mode if the instance exists.
This method is a thin wrapper around
org.hibernate.Session#load(Class, java.io.Serializable, LockMode) for convenience.
For an explanation of the exact semantics of this method, please do refer to
the Hibernate API documentation in the first instance. |
public Object load(String entityName,
Serializable id,
LockMode lockMode) throws DataAccessException
Return the persistent instance of the given entity class
with the given identifier, throwing an exception if not found.
Obtains the specified lock mode if the instance exists.
This method is a thin wrapper around
org.hibernate.Session#load(String, java.io.Serializable, LockMode) for convenience.
For an explanation of the exact semantics of this method, please do refer to
the Hibernate API documentation in the first instance. |
public List<T> loadAll(Class<T> entityClass) throws DataAccessException
Return all persistent instances of the given entity class.
Note: Use queries or criteria for retrieving a specific subset. |
public void lock(Object entity,
LockMode lockMode) throws DataAccessException
Obtain the specified lock level upon the given object, implicitly
checking whether the corresponding database entry still exists. |
public void lock(String entityName,
Object entity,
LockMode lockMode) throws DataAccessException
Obtain the specified lock level upon the given object, implicitly
checking whether the corresponding database entry still exists. |
public T merge(T entity) throws DataAccessException
Copy the state of the given object onto the persistent object
with the same identifier. Follows JSR-220 semantics.
Similar to saveOrUpdate, but never associates the given
object with the current Hibernate Session. In case of a new entity,
the state will be copied over as well.
Note that merge will not update the identifiers
in the passed-in object graph (in contrast to TopLink)! Consider
registering Spring's IdTransferringMergeEventListener if
you would like to have newly assigned ids transferred to the original
object graph too. |
public T merge(String entityName,
T entity) throws DataAccessException
Copy the state of the given object onto the persistent object
with the same identifier. Follows JSR-220 semantics.
Similar to saveOrUpdate, but never associates the given
object with the current Hibernate org.hibernate.Session . In
the case of a new entity, the state will be copied over as well.
Note that merge will not update the identifiers
in the passed-in object graph (in contrast to TopLink)! Consider
registering Spring's IdTransferringMergeEventListener
if you would like to have newly assigned ids transferred to the
original object graph too. |
public void persist(Object entity) throws DataAccessException
Persist the given transient instance. Follows JSR-220 semantics.
Similar to save, associating the given object
with the current Hibernate org.hibernate.Session . |
public void persist(String entityName,
Object entity) throws DataAccessException
Persist the given transient instance. Follows JSR-220 semantics.
Similar to save, associating the given object
with the current Hibernate org.hibernate.Session . |
public void refresh(Object entity) throws DataAccessException
Re-read the state of the given persistent instance. |
public void refresh(Object entity,
LockMode lockMode) throws DataAccessException
Re-read the state of the given persistent instance.
Obtains the specified lock mode for the instance. |
public void replicate(Object entity,
ReplicationMode replicationMode) throws DataAccessException
Persist the state of the given detached instance according to the
given replication mode, reusing the current identifier value. |
public void replicate(String entityName,
Object entity,
ReplicationMode replicationMode) throws DataAccessException
Persist the state of the given detached instance according to the
given replication mode, reusing the current identifier value. |
public Serializable save(Object entity) throws DataAccessException
Persist the given transient instance. |
public Serializable save(String entityName,
Object entity) throws DataAccessException
Persist the given transient instance. |
public void saveOrUpdate(Object entity) throws DataAccessException
Save or update the given persistent instance,
according to its id (matching the configured "unsaved-value"?).
Associates the instance with the current Hibernate org.hibernate.Session . |
public void saveOrUpdate(String entityName,
Object entity) throws DataAccessException
Save or update the given persistent instance,
according to its id (matching the configured "unsaved-value"?).
Associates the instance with the current Hibernate Session. |
public void saveOrUpdateAll(Collection entities) throws DataAccessExceptionDeprecated! as - of Spring 2.5, in favor of individual
saveOrUpdate or merge usage
Save or update all given persistent instances,
according to its id (matching the configured "unsaved-value"?).
Associates the instances with the current Hibernate Session. |
public void update(Object entity) throws DataAccessException
|
public void update(Object entity,
LockMode lockMode) throws DataAccessException
Update the given persistent instance,
associating it with the current Hibernate org.hibernate.Session .
Obtains the specified lock mode if the instance exists, implicitly
checking whether the corresponding database entry still exists. |
public void update(String entityName,
Object entity) throws DataAccessException
|
public void update(String entityName,
Object entity,
LockMode lockMode) throws DataAccessException
Update the given persistent instance,
associating it with the current Hibernate org.hibernate.Session .
Obtains the specified lock mode if the instance exists, implicitly
checking whether the corresponding database entry still exists. |