public interface HibernateOperations
execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
method for Session-based lambda expressions.
Implemented by HibernateTemplate
. Not often used, but a useful option
to enhance testability, as it can easily be mocked or stubbed.
Defines HibernateTemplate
's data access methods that mirror various
Session
methods. Users are strongly encouraged to read the
Hibernate Session
javadocs for details on the semantics of those methods.
A deprecation note: While HibernateTemplate
and this operations
interface are being kept around for backwards compatibility in terms of the data
access implementation style in Spring applications, we strongly recommend the use
of native Session
access code for non-trivial interactions.
This in particular affects parameterized queries where - on Java 8+ - a custom
HibernateCallback
lambda code block with createQuery
and several
setParameter
calls on the Query
interface
is an elegant solution, to be executed via the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
method.
All such operations which benefit from a lambda variant have been marked as
deprecated
on this interface.
A Hibernate compatibility note: HibernateTemplate
and the
operations on this interface generally aim to be applicable across all Hibernate
versions. In terms of binary compatibility, Spring ships a variant for each major
generation of Hibernate (in the present case: Hibernate ORM 5.x). However, due to
refactorings and removals in Hibernate ORM 5.3, some variants - in particular
legacy positional parameters starting from index 0 - do not work anymore.
All affected operations are marked as deprecated; please replace them with the
general execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
method and custom lambda blocks creating the queries,
ideally setting named parameters through Query
.
Please be aware that deprecated operations are known to work with Hibernate
ORM 5.0-5.2 but may not work with Hibernate ORM 5.3 and higher anymore.
HibernateTemplate
,
Session
,
HibernateTransactionManager
Modifier and Type | Method and Description |
---|---|
int |
bulkUpdate(java.lang.String queryString,
java.lang.Object... values)
Deprecated.
as of 5.0.4, in favor of a custom
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method |
void |
clear()
Remove all objects from the
Session cache, and
cancel all pending saves, updates and deletes. |
void |
closeIterator(java.util.Iterator<?> it)
Deprecated.
as of 5.0.4, in favor of a custom
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method |
boolean |
contains(java.lang.Object entity)
Check whether the given object is in the Session cache.
|
void |
delete(java.lang.Object entity)
Delete the given persistent instance.
|
void |
delete(java.lang.Object entity,
LockMode lockMode)
Delete the given persistent instance.
|
void |
delete(java.lang.String entityName,
java.lang.Object entity)
Delete the given persistent instance.
|
void |
delete(java.lang.String entityName,
java.lang.Object entity,
LockMode lockMode)
Delete the given persistent instance.
|
void |
deleteAll(java.util.Collection<?> entities)
Delete all given persistent instances.
|
Filter |
enableFilter(java.lang.String filterName)
Return an enabled Hibernate
Filter for the given filter name. |
void |
evict(java.lang.Object entity)
Remove the given object from the
Session cache. |
<T> T |
execute(HibernateCallback<T> action)
Execute the action specified by the given action object within a
Session . |
java.util.List<?> |
find(java.lang.String queryString,
java.lang.Object... values)
Deprecated.
as of 5.0.4, in favor of a custom
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method |
java.util.List<?> |
findByCriteria(DetachedCriteria criteria)
Execute a query based on a given Hibernate criteria object.
|
java.util.List<?> |
findByCriteria(DetachedCriteria criteria,
int firstResult,
int maxResults)
Execute a query based on the given Hibernate criteria object.
|
<T> java.util.List<T> |
findByExample(java.lang.String entityName,
T exampleEntity)
Execute a query based on the given example entity object.
|
<T> java.util.List<T> |
findByExample(java.lang.String entityName,
T exampleEntity,
int firstResult,
int maxResults)
Execute a query based on a given example entity object.
|
<T> java.util.List<T> |
findByExample(T exampleEntity)
Execute a query based on the given example entity object.
|
<T> java.util.List<T> |
findByExample(T exampleEntity,
int firstResult,
int maxResults)
Execute a query based on a given example entity object.
|
java.util.List<?> |
findByNamedParam(java.lang.String queryString,
java.lang.String[] paramNames,
java.lang.Object[] values)
Deprecated.
as of 5.0.4, in favor of a custom
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method |
java.util.List<?> |
findByNamedParam(java.lang.String queryString,
java.lang.String paramName,
java.lang.Object value)
Deprecated.
as of 5.0.4, in favor of a custom
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method |
java.util.List<?> |
findByNamedQuery(java.lang.String queryName,
java.lang.Object... values)
Deprecated.
as of 5.0.4, in favor of a custom
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method |
java.util.List<?> |
findByNamedQueryAndNamedParam(java.lang.String queryName,
java.lang.String[] paramNames,
java.lang.Object[] values)
Deprecated.
as of 5.0.4, in favor of a custom
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method |
java.util.List<?> |
findByNamedQueryAndNamedParam(java.lang.String queryName,
java.lang.String paramName,
java.lang.Object value)
Deprecated.
as of 5.0.4, in favor of a custom
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method |
java.util.List<?> |
findByNamedQueryAndValueBean(java.lang.String queryName,
java.lang.Object valueBean)
Deprecated.
as of 5.0.4, in favor of a custom
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method |
java.util.List<?> |
findByValueBean(java.lang.String queryString,
java.lang.Object valueBean)
Deprecated.
as of 5.0.4, in favor of a custom
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method |
void |
flush()
Flush all pending saves, updates and deletes to the database.
|
<T> T |
get(java.lang.Class<T> entityClass,
java.io.Serializable id)
Return the persistent instance of the given entity class
with the given identifier, or
null if not found. |
<T> T |
get(java.lang.Class<T> entityClass,
java.io.Serializable id,
LockMode lockMode)
Return the persistent instance of the given entity class
with the given identifier, or
null if not found. |
java.lang.Object |
get(java.lang.String entityName,
java.io.Serializable id)
Return the persistent instance of the given entity class
with the given identifier, or
null if not found. |
java.lang.Object |
get(java.lang.String entityName,
java.io.Serializable id,
LockMode lockMode)
Return the persistent instance of the given entity class
with the given identifier, or
null if not found. |
void |
initialize(java.lang.Object proxy)
Force initialization of a Hibernate proxy or persistent collection.
|
java.util.Iterator<?> |
iterate(java.lang.String queryString,
java.lang.Object... values)
Deprecated.
as of 5.0.4, in favor of a custom
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method |
<T> T |
load(java.lang.Class<T> entityClass,
java.io.Serializable id)
Return the persistent instance of the given entity class
with the given identifier, throwing an exception if not found.
|
<T> T |
load(java.lang.Class<T> entityClass,
java.io.Serializable id,
LockMode lockMode)
Return the persistent instance of the given entity class
with the given identifier, throwing an exception if not found.
|
void |
load(java.lang.Object entity,
java.io.Serializable id)
Load the persistent instance with the given identifier
into the given object, throwing an exception if not found.
|
java.lang.Object |
load(java.lang.String entityName,
java.io.Serializable id)
Return the persistent instance of the given entity class
with the given identifier, throwing an exception if not found.
|
java.lang.Object |
load(java.lang.String entityName,
java.io.Serializable id,
LockMode lockMode)
Return the persistent instance of the given entity class
with the given identifier, throwing an exception if not found.
|
<T> java.util.List<T> |
loadAll(java.lang.Class<T> entityClass)
Return all persistent instances of the given entity class.
|
void |
lock(java.lang.Object entity,
LockMode lockMode)
Obtain the specified lock level upon the given object, implicitly
checking whether the corresponding database entry still exists.
|
void |
lock(java.lang.String entityName,
java.lang.Object entity,
LockMode lockMode)
Obtain the specified lock level upon the given object, implicitly
checking whether the corresponding database entry still exists.
|
<T> T |
merge(java.lang.String entityName,
T entity)
Copy the state of the given object onto the persistent object
with the same identifier.
|
<T> T |
merge(T entity)
Copy the state of the given object onto the persistent object
with the same identifier.
|
void |
persist(java.lang.Object entity)
Persist the given transient instance.
|
void |
persist(java.lang.String entityName,
java.lang.Object entity)
Persist the given transient instance.
|
void |
refresh(java.lang.Object entity)
Re-read the state of the given persistent instance.
|
void |
refresh(java.lang.Object entity,
LockMode lockMode)
Re-read the state of the given persistent instance.
|
void |
replicate(java.lang.Object entity,
ReplicationMode replicationMode)
Persist the state of the given detached instance according to the
given replication mode, reusing the current identifier value.
|
void |
replicate(java.lang.String entityName,
java.lang.Object entity,
ReplicationMode replicationMode)
Persist the state of the given detached instance according to the
given replication mode, reusing the current identifier value.
|
java.io.Serializable |
save(java.lang.Object entity)
Persist the given transient instance.
|
java.io.Serializable |
save(java.lang.String entityName,
java.lang.Object entity)
Persist the given transient instance.
|
void |
saveOrUpdate(java.lang.Object entity)
Save or update the given persistent instance,
according to its id (matching the configured "unsaved-value"?).
|
void |
saveOrUpdate(java.lang.String entityName,
java.lang.Object entity)
Save or update the given persistent instance,
according to its id (matching the configured "unsaved-value"?).
|
void |
update(java.lang.Object entity)
Update the given persistent instance,
associating it with the current Hibernate
Session . |
void |
update(java.lang.Object entity,
LockMode lockMode)
Update the given persistent instance,
associating it with the current Hibernate
Session . |
void |
update(java.lang.String entityName,
java.lang.Object entity)
Update the given persistent instance,
associating it with the current Hibernate
Session . |
void |
update(java.lang.String entityName,
java.lang.Object entity,
LockMode lockMode)
Update the given persistent instance,
associating it with the current Hibernate
Session . |
@Nullable <T> T execute(HibernateCallback<T> action) throws DataAccessException
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.
action
- callback object that specifies the Hibernate actionnull
DataAccessException
- in case of Hibernate errorsHibernateTransactionManager
,
Session
@Nullable <T> T get(java.lang.Class<T> entityClass, java.io.Serializable id) throws DataAccessException
null
if not found.
This method is a thin wrapper around
Session.get(Class, 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.
entityClass
- a persistent classid
- the identifier of the persistent instancenull
if not foundDataAccessException
- in case of Hibernate errorsSession.get(Class, Serializable)
@Nullable <T> T get(java.lang.Class<T> entityClass, java.io.Serializable id, LockMode lockMode) throws DataAccessException
null
if not found.
Obtains the specified lock mode if the instance exists.
This method is a thin wrapper around
Session.get(Class, 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.
entityClass
- a persistent classid
- the identifier of the persistent instancelockMode
- the lock mode to obtainnull
if not foundDataAccessException
- in case of Hibernate errorsSession.get(Class, Serializable, LockMode)
@Nullable java.lang.Object get(java.lang.String entityName, java.io.Serializable id) throws DataAccessException
null
if not found.
This method is a thin wrapper around
Session.get(String, 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.
entityName
- the name of the persistent entityid
- the identifier of the persistent instancenull
if not foundDataAccessException
- in case of Hibernate errorsSession.get(Class, Serializable)
@Nullable java.lang.Object get(java.lang.String entityName, java.io.Serializable id, LockMode lockMode) throws DataAccessException
null
if not found.
Obtains the specified lock mode if the instance exists.
This method is a thin wrapper around
Session.get(String, 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.
entityName
- the name of the persistent entityid
- the identifier of the persistent instancelockMode
- the lock mode to obtainnull
if not foundDataAccessException
- in case of Hibernate errorsSession.get(Class, Serializable, LockMode)
<T> T load(java.lang.Class<T> entityClass, java.io.Serializable id) throws DataAccessException
This method is a thin wrapper around
Session.load(Class, 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.
entityClass
- a persistent classid
- the identifier of the persistent instanceObjectRetrievalFailureException
- if not foundDataAccessException
- in case of Hibernate errorsSession.load(Class, Serializable)
<T> T load(java.lang.Class<T> entityClass, java.io.Serializable id, LockMode lockMode) throws DataAccessException
This method is a thin wrapper around
Session.load(Class, 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.
entityClass
- a persistent classid
- the identifier of the persistent instancelockMode
- the lock mode to obtainObjectRetrievalFailureException
- if not foundDataAccessException
- in case of Hibernate errorsSession.load(Class, Serializable)
java.lang.Object load(java.lang.String entityName, java.io.Serializable id) throws DataAccessException
This method is a thin wrapper around
Session.load(String, 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.
entityName
- the name of the persistent entityid
- the identifier of the persistent instanceObjectRetrievalFailureException
- if not foundDataAccessException
- in case of Hibernate errorsSession.load(Class, Serializable)
java.lang.Object load(java.lang.String entityName, java.io.Serializable id, LockMode lockMode) throws DataAccessException
Obtains the specified lock mode if the instance exists.
This method is a thin wrapper around
Session.load(String, 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.
entityName
- the name of the persistent entityid
- the identifier of the persistent instancelockMode
- the lock mode to obtainObjectRetrievalFailureException
- if not foundDataAccessException
- in case of Hibernate errorsSession.load(Class, Serializable)
<T> java.util.List<T> loadAll(java.lang.Class<T> entityClass) throws DataAccessException
entityClass
- a persistent classList
containing 0 or more persistent instancesDataAccessException
- if there is a Hibernate errorSharedSessionContract.createCriteria(java.lang.Class)
void load(java.lang.Object entity, java.io.Serializable id) throws DataAccessException
This method is a thin wrapper around
Session.load(Object, 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.
entity
- the object (of the target class) to load intoid
- the identifier of the persistent instanceObjectRetrievalFailureException
- if not foundDataAccessException
- in case of Hibernate errorsSession.load(Object, Serializable)
void refresh(java.lang.Object entity) throws DataAccessException
entity
- the persistent instance to re-readDataAccessException
- in case of Hibernate errorsSession.refresh(Object)
void refresh(java.lang.Object entity, LockMode lockMode) throws DataAccessException
entity
- the persistent instance to re-readlockMode
- the lock mode to obtainDataAccessException
- in case of Hibernate errorsSession.refresh(Object, LockMode)
boolean contains(java.lang.Object entity) throws DataAccessException
entity
- the persistence instance to checkDataAccessException
- if there is a Hibernate errorSession.contains(java.lang.String, java.lang.Object)
void evict(java.lang.Object entity) throws DataAccessException
Session
cache.entity
- the persistent instance to evictDataAccessException
- in case of Hibernate errorsSession.evict(java.lang.Object)
void initialize(java.lang.Object proxy) throws DataAccessException
proxy
- a proxy for a persistent object or a persistent collectionDataAccessException
- if we can't initialize the proxy, for example
because it is not associated with an active SessionHibernate.initialize(java.lang.Object)
Filter enableFilter(java.lang.String filterName) throws java.lang.IllegalStateException
Filter
for the given filter name.
The returned Filter
instance can be used to set filter parameters.filterName
- the name of the filterFilter
(either already
enabled or enabled on the fly by this operation)java.lang.IllegalStateException
- if we are not running within a
transactional Session (in which case this operation does not make sense)void lock(java.lang.Object entity, LockMode lockMode) throws DataAccessException
entity
- the persistent instance to locklockMode
- the lock mode to obtainObjectOptimisticLockingFailureException
- if not foundDataAccessException
- in case of Hibernate errorsSession.lock(Object, LockMode)
void lock(java.lang.String entityName, java.lang.Object entity, LockMode lockMode) throws DataAccessException
entityName
- the name of the persistent entityentity
- the persistent instance to locklockMode
- the lock mode to obtainObjectOptimisticLockingFailureException
- if not foundDataAccessException
- in case of Hibernate errorsSession.lock(String, Object, LockMode)
java.io.Serializable save(java.lang.Object entity) throws DataAccessException
entity
- the transient instance to persistDataAccessException
- in case of Hibernate errorsSession.save(Object)
java.io.Serializable save(java.lang.String entityName, java.lang.Object entity) throws DataAccessException
entityName
- the name of the persistent entityentity
- the transient instance to persistDataAccessException
- in case of Hibernate errorsSession.save(String, Object)
void update(java.lang.Object entity) throws DataAccessException
Session
.entity
- the persistent instance to updateDataAccessException
- in case of Hibernate errorsSession.update(Object)
void update(java.lang.Object entity, LockMode lockMode) throws DataAccessException
Session
.
Obtains the specified lock mode if the instance exists, implicitly checking whether the corresponding database entry still exists.
entity
- the persistent instance to updatelockMode
- the lock mode to obtainObjectOptimisticLockingFailureException
- if not foundDataAccessException
- in case of Hibernate errorsSession.update(Object)
void update(java.lang.String entityName, java.lang.Object entity) throws DataAccessException
Session
.entityName
- the name of the persistent entityentity
- the persistent instance to updateDataAccessException
- in case of Hibernate errorsSession.update(String, Object)
void update(java.lang.String entityName, java.lang.Object entity, LockMode lockMode) throws DataAccessException
Session
.
Obtains the specified lock mode if the instance exists, implicitly checking whether the corresponding database entry still exists.
entityName
- the name of the persistent entityentity
- the persistent instance to updatelockMode
- the lock mode to obtainObjectOptimisticLockingFailureException
- if not foundDataAccessException
- in case of Hibernate errorsSession.update(String, Object)
void saveOrUpdate(java.lang.Object entity) throws DataAccessException
Session
.entity
- the persistent instance to save or update
(to be associated with the Hibernate Session
)DataAccessException
- in case of Hibernate errorsSession.saveOrUpdate(Object)
void saveOrUpdate(java.lang.String entityName, java.lang.Object entity) throws DataAccessException
Session
.entityName
- the name of the persistent entityentity
- the persistent instance to save or update
(to be associated with the Hibernate Session
)DataAccessException
- in case of Hibernate errorsSession.saveOrUpdate(String, Object)
void replicate(java.lang.Object entity, ReplicationMode replicationMode) throws DataAccessException
entity
- the persistent object to replicatereplicationMode
- the Hibernate ReplicationModeDataAccessException
- in case of Hibernate errorsSession.replicate(Object, ReplicationMode)
void replicate(java.lang.String entityName, java.lang.Object entity, ReplicationMode replicationMode) throws DataAccessException
entityName
- the name of the persistent entityentity
- the persistent object to replicatereplicationMode
- the Hibernate ReplicationModeDataAccessException
- in case of Hibernate errorsSession.replicate(String, Object, ReplicationMode)
void persist(java.lang.Object entity) throws DataAccessException
Similar to save
, associating the given object
with the current Hibernate Session
.
entity
- the persistent instance to persistDataAccessException
- in case of Hibernate errorsSession.persist(Object)
,
save(java.lang.Object)
void persist(java.lang.String entityName, java.lang.Object entity) throws DataAccessException
Similar to save
, associating the given object
with the current Hibernate Session
.
entityName
- the name of the persistent entityentity
- the persistent instance to persistDataAccessException
- in case of Hibernate errorsSession.persist(String, Object)
,
save(java.lang.Object)
<T> T merge(T entity) throws DataAccessException
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.
entity
- the object to merge with the corresponding persistence instanceDataAccessException
- in case of Hibernate errorsSession.merge(Object)
,
saveOrUpdate(java.lang.Object)
<T> T merge(java.lang.String entityName, T entity) throws DataAccessException
Similar to saveOrUpdate
, but never associates the given
object with the current 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.
entityName
- the name of the persistent entityentity
- the object to merge with the corresponding persistence instanceDataAccessException
- in case of Hibernate errorsSession.merge(String, Object)
,
saveOrUpdate(java.lang.Object)
void delete(java.lang.Object entity) throws DataAccessException
entity
- the persistent instance to deleteDataAccessException
- in case of Hibernate errorsSession.delete(Object)
void delete(java.lang.Object entity, LockMode lockMode) throws DataAccessException
Obtains the specified lock mode if the instance exists, implicitly checking whether the corresponding database entry still exists.
entity
- the persistent instance to deletelockMode
- the lock mode to obtainObjectOptimisticLockingFailureException
- if not foundDataAccessException
- in case of Hibernate errorsSession.delete(Object)
void delete(java.lang.String entityName, java.lang.Object entity) throws DataAccessException
entityName
- the name of the persistent entityentity
- the persistent instance to deleteDataAccessException
- in case of Hibernate errorsSession.delete(Object)
void delete(java.lang.String entityName, java.lang.Object entity, LockMode lockMode) throws DataAccessException
Obtains the specified lock mode if the instance exists, implicitly checking whether the corresponding database entry still exists.
entityName
- the name of the persistent entityentity
- the persistent instance to deletelockMode
- the lock mode to obtainObjectOptimisticLockingFailureException
- if not foundDataAccessException
- in case of Hibernate errorsSession.delete(Object)
void deleteAll(java.util.Collection<?> entities) throws DataAccessException
This can be combined with any of the find methods to delete by query in two lines of code.
entities
- the persistent instances to deleteDataAccessException
- in case of Hibernate errorsSession.delete(Object)
void flush() throws DataAccessException
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.
DataAccessException
- in case of Hibernate errorsSession.flush()
void clear() throws DataAccessException
Session
cache, and
cancel all pending saves, updates and deletes.DataAccessException
- in case of Hibernate errorsSession.clear()
java.util.List<?> findByCriteria(DetachedCriteria criteria) throws DataAccessException
criteria
- the detached Hibernate criteria object.
Note: Do not reuse criteria objects! They need to recreated per execution,
due to the suboptimal design of Hibernate's criteria facility.List
containing 0 or more persistent instancesDataAccessException
- in case of Hibernate errorsDetachedCriteria.getExecutableCriteria(org.hibernate.Session)
java.util.List<?> findByCriteria(DetachedCriteria criteria, int firstResult, int maxResults) throws DataAccessException
criteria
- the detached Hibernate criteria object.
Note: Do not reuse criteria objects! They need to recreated per execution,
due to the suboptimal design of Hibernate's criteria facility.firstResult
- the index of the first result object to be retrieved
(numbered from 0)maxResults
- the maximum number of result objects to retrieve
(or <=0 for no limit)List
containing 0 or more persistent instancesDataAccessException
- in case of Hibernate errorsDetachedCriteria.getExecutableCriteria(org.hibernate.Session)
,
Criteria.setFirstResult(int)
,
Criteria.setMaxResults(int)
<T> java.util.List<T> findByExample(T exampleEntity) throws DataAccessException
exampleEntity
- an instance of the desired entity,
serving as example for "query-by-example"List
containing 0 or more persistent instancesDataAccessException
- in case of Hibernate errorsExample.create(Object)
<T> java.util.List<T> findByExample(java.lang.String entityName, T exampleEntity) throws DataAccessException
entityName
- the name of the persistent entityexampleEntity
- an instance of the desired entity,
serving as example for "query-by-example"List
containing 0 or more persistent instancesDataAccessException
- in case of Hibernate errorsExample.create(Object)
<T> java.util.List<T> findByExample(T exampleEntity, int firstResult, int maxResults) throws DataAccessException
exampleEntity
- an instance of the desired entity,
serving as example for "query-by-example"firstResult
- the index of the first result object to be retrieved
(numbered from 0)maxResults
- the maximum number of result objects to retrieve
(or <=0 for no limit)List
containing 0 or more persistent instancesDataAccessException
- in case of Hibernate errorsExample.create(Object)
,
Criteria.setFirstResult(int)
,
Criteria.setMaxResults(int)
<T> java.util.List<T> findByExample(java.lang.String entityName, T exampleEntity, int firstResult, int maxResults) throws DataAccessException
entityName
- the name of the persistent entityexampleEntity
- an instance of the desired entity,
serving as example for "query-by-example"firstResult
- the index of the first result object to be retrieved
(numbered from 0)maxResults
- the maximum number of result objects to retrieve
(or <=0 for no limit)List
containing 0 or more persistent instancesDataAccessException
- in case of Hibernate errorsExample.create(Object)
,
Criteria.setFirstResult(int)
,
Criteria.setMaxResults(int)
@Deprecated java.util.List<?> find(java.lang.String queryString, java.lang.Object... values) throws DataAccessException
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
methodqueryString
- a query expressed in Hibernate's query languagevalues
- the values of the parametersList
containing the results of the query executionDataAccessException
- in case of Hibernate errorsSession.createQuery(java.lang.String)
@Deprecated java.util.List<?> findByNamedParam(java.lang.String queryString, java.lang.String paramName, java.lang.Object value) throws DataAccessException
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
methodqueryString
- a query expressed in Hibernate's query languageparamName
- the name of the parametervalue
- the value of the parameterList
containing the results of the query executionDataAccessException
- in case of Hibernate errorsSession.getNamedQuery(String)
@Deprecated java.util.List<?> findByNamedParam(java.lang.String queryString, java.lang.String[] paramNames, java.lang.Object[] values) throws DataAccessException
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
methodqueryString
- a query expressed in Hibernate's query languageparamNames
- the names of the parametersvalues
- the values of the parametersList
containing the results of the query executionDataAccessException
- in case of Hibernate errorsSession.getNamedQuery(String)
@Deprecated java.util.List<?> findByValueBean(java.lang.String queryString, java.lang.Object valueBean) throws DataAccessException
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
methodqueryString
- a query expressed in Hibernate's query languagevalueBean
- the values of the parametersList
containing the results of the query executionDataAccessException
- in case of Hibernate errorsQuery.setProperties(java.lang.Object)
,
Session.createQuery(java.lang.String)
@Deprecated java.util.List<?> findByNamedQuery(java.lang.String queryName, java.lang.Object... values) throws DataAccessException
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
methodA named query is defined in a Hibernate mapping file.
queryName
- the name of a Hibernate query in a mapping filevalues
- the values of the parametersList
containing the results of the query executionDataAccessException
- in case of Hibernate errorsSession.getNamedQuery(String)
@Deprecated java.util.List<?> findByNamedQueryAndNamedParam(java.lang.String queryName, java.lang.String paramName, java.lang.Object value) throws DataAccessException
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
methodA named query is defined in a Hibernate mapping file.
queryName
- the name of a Hibernate query in a mapping fileparamName
- the name of parametervalue
- the value of the parameterList
containing the results of the query executionDataAccessException
- in case of Hibernate errorsSession.getNamedQuery(String)
@Deprecated java.util.List<?> findByNamedQueryAndNamedParam(java.lang.String queryName, java.lang.String[] paramNames, java.lang.Object[] values) throws DataAccessException
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
methodA named query is defined in a Hibernate mapping file.
queryName
- the name of a Hibernate query in a mapping fileparamNames
- the names of the parametersvalues
- the values of the parametersList
containing the results of the query executionDataAccessException
- in case of Hibernate errorsSession.getNamedQuery(String)
@Deprecated java.util.List<?> findByNamedQueryAndValueBean(java.lang.String queryName, java.lang.Object valueBean) throws DataAccessException
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
methodA named query is defined in a Hibernate mapping file.
queryName
- the name of a Hibernate query in a mapping filevalueBean
- the values of the parametersList
containing the results of the query executionDataAccessException
- in case of Hibernate errorsQuery.setProperties(java.lang.Object)
,
Session.getNamedQuery(String)
@Deprecated java.util.Iterator<?> iterate(java.lang.String queryString, java.lang.Object... values) throws DataAccessException
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
methodReturns the results as an Iterator
. Entities returned are
initialized on demand. See the Hibernate API documentation for details.
queryString
- a query expressed in Hibernate's query languagevalues
- the values of the parametersIterator
containing 0 or more persistent instancesDataAccessException
- in case of Hibernate errorsSession.createQuery(java.lang.String)
,
Query.iterate()
@Deprecated void closeIterator(java.util.Iterator<?> it) throws DataAccessException
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
methodIterator
created by any of the various
iterate(..)
operations, instead of waiting until the
session is closed or disconnected.it
- the Iterator
to closeDataAccessException
- if the Iterator
could not be closedHibernate.close(java.util.Iterator)
@Deprecated int bulkUpdate(java.lang.String queryString, java.lang.Object... values) throws DataAccessException
HibernateCallback
lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
methodqueryString
- an update/delete query expressed in Hibernate's query languagevalues
- the values of the parametersDataAccessException
- in case of Hibernate errorsSession.createQuery(java.lang.String)
,
Query.executeUpdate()