接口 HibernateOperations
- 所有已知实现类:
HibernateTemplate
@Deprecated public interface HibernateOperations
已过时。as of Spring 4.3, in favor of Hibernate 4.x/5.xInterface that specifies a basic set of Hibernate operations, implemented byHibernateTemplate
. 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 variousSession
methods. Users are strongly encouraged to read the HibernateSession
javadocs for details on the semantics of those methods.Note that operations that return an
Iterator
(i.e.iterate(..)
) are supposed to be used within Spring-driven or JTA-driven transactions (withHibernateTransactionManager
,JtaTransactionManager
, or EJB CMT). Else, theIterator
won't be able to read results from itsResultSet
anymore, as the underlying HibernateSession
will already have been closed.Note that lazy loading will just work with an open Hibernate
Session
, either within a transaction or withinOpenSessionInViewFilter
/OpenSessionInViewInterceptor
. Furthermore, some operations just make sense within transactions, for example:contains
,evict
,lock
,flush
,clear
.- 从以下版本开始:
- 1.2
- 作者:
- Juergen Hoeller
- 另请参阅:
HibernateTemplate
,Session
,HibernateTransactionManager
,JtaTransactionManager
,OpenSessionInViewFilter
,OpenSessionInViewInterceptor
方法概要
所有方法 实例方法 抽象方法 已过时的方法 修饰符和类型 方法 说明 int
bulkUpdate(String queryString)
已过时。Update/delete all objects according to the given query.int
bulkUpdate(String queryString, Object value)
已过时。Update/delete all objects according to the given query, binding one value to a "?"int
bulkUpdate(String queryString, Object... values)
已过时。Update/delete all objects according to the given query, binding a number of values to "?"void
clear()
已过时。Remove all objects from theSession
cache, and cancel all pending saves, updates and deletes.void
closeIterator(Iterator<?> it)
已过时。Immediately close anIterator
created by any of the variousiterate(..)
operations, instead of waiting until the session is closed or disconnected.boolean
contains(Object entity)
已过时。Check whether the given object is in the Session cache.void
delete(Object entity)
已过时。Delete the given persistent instance.void
delete(Object entity, LockMode lockMode)
已过时。Delete the given persistent instance.void
delete(String entityName, Object entity)
已过时。Delete the given persistent instance.void
delete(String entityName, Object entity, LockMode lockMode)
已过时。Delete the given persistent instance.void
deleteAll(Collection<?> entities)
已过时。Delete all given persistent instances.Filter
enableFilter(String filterName)
已过时。Return an enabled HibernateFilter
for the given filter name.void
evict(Object entity)
已过时。Remove the given object from theSession
cache.<T> T
execute(HibernateCallback<T> action)
已过时。Execute the action specified by the given action object within aSession
.List<?>
executeFind(HibernateCallback<?> action)
已过时。as of Spring 3.2.7, in favor of using a regularexecute(org.springframework.orm.hibernate3.HibernateCallback<T>)
call with a generic List type declaredList<?>
find(String queryString)
已过时。Execute an HQL query.List<?>
find(String queryString, Object value)
已过时。Execute an HQL query, binding one value to a "?"List<?>
find(String queryString, Object... values)
已过时。Execute an HQL query, binding a number of values to "?"List<?>
findByCriteria(DetachedCriteria criteria)
已过时。Execute a query based on a given Hibernate criteria object.List<?>
findByCriteria(DetachedCriteria criteria, int firstResult, int maxResults)
已过时。Execute a query based on the given Hibernate criteria object.<T> List<T>
findByExample(String entityName, T exampleEntity)
已过时。Execute a query based on the given example entity object.<T> List<T>
findByExample(String entityName, T exampleEntity, int firstResult, int maxResults)
已过时。Execute a query based on a given example entity object.<T> List<T>
findByExample(T exampleEntity)
已过时。Execute a query based on the given example entity object.<T> List<T>
findByExample(T exampleEntity, int firstResult, int maxResults)
已过时。Execute a query based on a given example entity object.List<?>
findByNamedParam(String queryString, String[] paramNames, Object[] values)
已过时。Execute an HQL query, binding a number of values to ":" named parameters in the query string.List<?>
findByNamedParam(String queryString, String paramName, Object value)
已过时。Execute an HQL query, binding one value to a ":" named parameter in the query string.List<?>
findByNamedQuery(String queryName)
已过时。Execute a named query.List<?>
findByNamedQuery(String queryName, Object value)
已过时。Execute a named query, binding one value to a "?"List<?>
findByNamedQuery(String queryName, Object... values)
已过时。Execute a named query binding a number of values to "?"List<?>
findByNamedQueryAndNamedParam(String queryName, String[] paramNames, Object[] values)
已过时。Execute a named query, binding a number of values to ":" named parameters in the query string.List<?>
findByNamedQueryAndNamedParam(String queryName, String paramName, Object value)
已过时。Execute a named query, binding one value to a ":" named parameter in the query string.List<?>
findByNamedQueryAndValueBean(String queryName, Object valueBean)
已过时。Execute a named query, binding the properties of the given bean to ":" named parameters in the query string.List<?>
findByValueBean(String queryString, Object valueBean)
已过时。Execute an HQL query, binding the properties of the given bean to named parameters in the query string.void
flush()
已过时。Flush all pending saves, updates and deletes to the database.<T> T
get(Class<T> entityClass, Serializable id)
已过时。Return the persistent instance of the given entity class with the given identifier, ornull
if not found.<T> T
get(Class<T> entityClass, Serializable id, LockMode lockMode)
已过时。Return the persistent instance of the given entity class with the given identifier, ornull
if not found.Object
get(String entityName, Serializable id)
已过时。Return the persistent instance of the given entity class with the given identifier, ornull
if not found.Object
get(String entityName, Serializable id, LockMode lockMode)
已过时。Return the persistent instance of the given entity class with the given identifier, ornull
if not found.void
initialize(Object proxy)
已过时。Force initialization of a Hibernate proxy or persistent collection.Iterator<?>
iterate(String queryString)
已过时。Execute a query for persistent instances.Iterator<?>
iterate(String queryString, Object value)
已过时。Execute a query for persistent instances, binding one value to a "?"Iterator<?>
iterate(String queryString, Object... values)
已过时。Execute a query for persistent instances, binding a number of values to "?"<T> T
load(Class<T> entityClass, Serializable id)
已过时。Return the persistent instance of the given entity class with the given identifier, throwing an exception if not found.<T> T
load(Class<T> entityClass, 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(Object entity, Serializable id)
已过时。Load the persistent instance with the given identifier into the given object, throwing an exception if not found.Object
load(String entityName, Serializable id)
已过时。Return the persistent instance of the given entity class with the given identifier, throwing an exception if not found.Object
load(String entityName, Serializable id, LockMode lockMode)
已过时。Return the persistent instance of the given entity class with the given identifier, throwing an exception if not found.<T> List<T>
loadAll(Class<T> entityClass)
已过时。Return all persistent instances of the given entity class.void
lock(Object entity, LockMode lockMode)
已过时。Obtain the specified lock level upon the given object, implicitly checking whether the corresponding database entry still exists.void
lock(String entityName, 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(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(Object entity)
已过时。Persist the given transient instance.void
persist(String entityName, Object entity)
已过时。Persist the given transient instance.void
refresh(Object entity)
已过时。Re-read the state of the given persistent instance.void
refresh(Object entity, LockMode lockMode)
已过时。Re-read the state of the given persistent instance.void
replicate(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(String entityName, Object entity, ReplicationMode replicationMode)
已过时。Persist the state of the given detached instance according to the given replication mode, reusing the current identifier value.Serializable
save(Object entity)
已过时。Persist the given transient instance.Serializable
save(String entityName, Object entity)
已过时。Persist the given transient instance.void
saveOrUpdate(Object entity)
已过时。Save or update the given persistent instance, according to its id (matching the configured "unsaved-value"?).void
saveOrUpdate(String entityName, Object entity)
已过时。Save or update the given persistent instance, according to its id (matching the configured "unsaved-value"?).void
update(Object entity)
已过时。Update the given persistent instance, associating it with the current HibernateSession
.void
update(Object entity, LockMode lockMode)
已过时。Update the given persistent instance, associating it with the current HibernateSession
.void
update(String entityName, Object entity)
已过时。Update the given persistent instance, associating it with the current HibernateSession
.void
update(String entityName, Object entity, LockMode lockMode)
已过时。Update the given persistent instance, associating it with the current HibernateSession
.
方法详细资料
execute
<T> T execute(HibernateCallback<T> action) throws DataAccessException
已过时。Execute the action specified by the given action object within aSession
.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 anySession
lifecycle methods, like close, disconnect, or reconnect, to let the template do its work.- 参数:
action
- callback object that specifies the Hibernate action- 返回:
- a result object returned by the action, or
null
- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
HibernateTransactionManager
,Session
executeFind
@Deprecated List<?> executeFind(HibernateCallback<?> action) throws DataAccessException
已过时。as of Spring 3.2.7, in favor of using a regularexecute(org.springframework.orm.hibernate3.HibernateCallback<T>)
call with a generic List type declaredExecute the specified action assuming that the result object is aList
.This is a convenience method for executing Hibernate find calls or queries within an action.
- 参数:
action
- callback object that specifies the Hibernate action- 返回:
- a List result returned by the action, or
null
- 抛出:
DataAccessException
- in case of Hibernate errors
get
<T> T get(Class<T> entityClass, Serializable id) throws DataAccessException
已过时。Return the persistent instance of the given entity class with the given identifier, ornull
if not found.This method is a thin wrapper around
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.- 参数:
entityClass
- a persistent classid
- the identifier of the persistent instance- 返回:
- the persistent instance, or
null
if not found - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.get(Class, java.io.Serializable)
get
<T> T get(Class<T> entityClass, Serializable id, LockMode lockMode) throws DataAccessException
已过时。Return the persistent instance of the given entity class with the given identifier, ornull
if not found.Obtains the specified lock mode if the instance exists.
This method is a thin wrapper around
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.- 参数:
entityClass
- a persistent classid
- the identifier of the persistent instancelockMode
- the lock mode to obtain- 返回:
- the persistent instance, or
null
if not found - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.get(Class, java.io.Serializable, org.hibernate.LockMode)
get
Object get(String entityName, Serializable id) throws DataAccessException
已过时。Return the persistent instance of the given entity class with the given identifier, ornull
if not found.This method is a thin wrapper around
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.- 参数:
entityName
- the name of the persistent entityid
- the identifier of the persistent instance- 返回:
- the persistent instance, or
null
if not found - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.get(Class, java.io.Serializable)
get
Object get(String entityName, Serializable id, LockMode lockMode) throws DataAccessException
已过时。Return the persistent instance of the given entity class with the given identifier, ornull
if not found. Obtains the specified lock mode if the instance exists.This method is a thin wrapper around
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.- 参数:
entityName
- the name of the persistent entityid
- the identifier of the persistent instancelockMode
- the lock mode to obtain- 返回:
- the persistent instance, or
null
if not found - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.get(Class, java.io.Serializable, org.hibernate.LockMode)
load
<T> 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
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.- 参数:
entityClass
- a persistent classid
- the identifier of the persistent instance- 返回:
- the persistent instance
- 抛出:
ObjectRetrievalFailureException
- if not foundDataAccessException
- in case of Hibernate errors- 另请参阅:
Session.load(Class, java.io.Serializable)
load
<T> 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
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.- 参数:
entityClass
- a persistent classid
- the identifier of the persistent instancelockMode
- the lock mode to obtain- 返回:
- the persistent instance
- 抛出:
ObjectRetrievalFailureException
- if not foundDataAccessException
- in case of Hibernate errors- 另请参阅:
Session.load(Class, java.io.Serializable)
load
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
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.- 参数:
entityName
- the name of the persistent entityid
- the identifier of the persistent instance- 返回:
- the persistent instance
- 抛出:
ObjectRetrievalFailureException
- if not foundDataAccessException
- in case of Hibernate errors- 另请参阅:
Session.load(Class, java.io.Serializable)
load
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
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.- 参数:
entityName
- the name of the persistent entityid
- the identifier of the persistent instancelockMode
- the lock mode to obtain- 返回:
- the persistent instance
- 抛出:
ObjectRetrievalFailureException
- if not foundDataAccessException
- in case of Hibernate errors- 另请参阅:
Session.load(Class, java.io.Serializable)
loadAll
<T> 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.- 参数:
entityClass
- a persistent class- 返回:
- a
List
containing 0 or more persistent instances - 抛出:
DataAccessException
- if there is a Hibernate error- 另请参阅:
SharedSessionContract.createCriteria(java.lang.Class)
load
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
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.- 参数:
entity
- the object (of the target class) to load intoid
- the identifier of the persistent instance- 抛出:
ObjectRetrievalFailureException
- if not foundDataAccessException
- in case of Hibernate errors- 另请参阅:
Session.load(Object, java.io.Serializable)
refresh
void refresh(Object entity) throws DataAccessException
已过时。Re-read the state of the given persistent instance.- 参数:
entity
- the persistent instance to re-read- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.refresh(Object)
refresh
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.- 参数:
entity
- the persistent instance to re-readlockMode
- the lock mode to obtain- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.refresh(Object, org.hibernate.LockMode)
contains
boolean contains(Object entity) throws DataAccessException
已过时。Check whether the given object is in the Session cache.- 参数:
entity
- the persistence instance to check- 返回:
- whether the given object is in the Session cache
- 抛出:
DataAccessException
- if there is a Hibernate error- 另请参阅:
Session.contains(java.lang.Object)
evict
void evict(Object entity) throws DataAccessException
已过时。Remove the given object from theSession
cache.- 参数:
entity
- the persistent instance to evict- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.evict(java.lang.Object)
initialize
void initialize(Object proxy) throws DataAccessException
已过时。Force initialization of a Hibernate proxy or persistent collection.- 参数:
proxy
- a proxy for a persistent object or a persistent collection- 抛出:
DataAccessException
- if we can't initialize the proxy, for example because it is not associated with an active Session- 另请参阅:
Hibernate.initialize(java.lang.Object)
enableFilter
Filter enableFilter(String filterName) throws IllegalStateException
已过时。Return an enabled HibernateFilter
for the given filter name. The returnedFilter
instance can be used to set filter parameters.- 参数:
filterName
- the name of the filter- 返回:
- the enabled Hibernate
Filter
(either already enabled or enabled on the fly by this operation) - 抛出:
IllegalStateException
- if we are not running within a transactional Session (in which case this operation does not make sense)
lock
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.- 参数:
entity
- the persistent instance to locklockMode
- the lock mode to obtain- 抛出:
ObjectOptimisticLockingFailureException
- if not foundDataAccessException
- in case of Hibernate errors- 另请参阅:
Session.lock(Object, org.hibernate.LockMode)
lock
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.- 参数:
entityName
- the name of the persistent entityentity
- the persistent instance to locklockMode
- the lock mode to obtain- 抛出:
ObjectOptimisticLockingFailureException
- if not foundDataAccessException
- in case of Hibernate errors- 另请参阅:
Session.lock(String, Object, org.hibernate.LockMode)
save
Serializable save(Object entity) throws DataAccessException
已过时。Persist the given transient instance.- 参数:
entity
- the transient instance to persist- 返回:
- the generated identifier
- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.save(Object)
save
Serializable save(String entityName, Object entity) throws DataAccessException
已过时。Persist the given transient instance.- 参数:
entityName
- the name of the persistent entityentity
- the transient instance to persist- 返回:
- the generated identifier
- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.save(String, Object)
update
void update(Object entity) throws DataAccessException
已过时。Update the given persistent instance, associating it with the current HibernateSession
.- 参数:
entity
- the persistent instance to update- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.update(Object)
update
void update(Object entity, LockMode lockMode) throws DataAccessException
已过时。Update the given persistent instance, associating it with the current HibernateSession
.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 obtain- 抛出:
ObjectOptimisticLockingFailureException
- if not foundDataAccessException
- in case of Hibernate errors- 另请参阅:
Session.update(Object)
update
void update(String entityName, Object entity) throws DataAccessException
已过时。Update the given persistent instance, associating it with the current HibernateSession
.- 参数:
entityName
- the name of the persistent entityentity
- the persistent instance to update- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.update(String, Object)
update
void update(String entityName, Object entity, LockMode lockMode) throws DataAccessException
已过时。Update the given persistent instance, associating it with the current HibernateSession
.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 obtain- 抛出:
ObjectOptimisticLockingFailureException
- if not foundDataAccessException
- in case of Hibernate errors- 另请参阅:
Session.update(String, Object)
saveOrUpdate
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 HibernateSession
.- 参数:
entity
- the persistent instance to save or update (to be associated with the HibernateSession
)- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.saveOrUpdate(Object)
saveOrUpdate
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 HibernateSession
.- 参数:
entityName
- the name of the persistent entityentity
- the persistent instance to save or update (to be associated with the HibernateSession
)- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.saveOrUpdate(String, Object)
replicate
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.- 参数:
entity
- the persistent object to replicatereplicationMode
- the Hibernate ReplicationMode- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.replicate(Object, org.hibernate.ReplicationMode)
replicate
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.- 参数:
entityName
- the name of the persistent entityentity
- the persistent object to replicatereplicationMode
- the Hibernate ReplicationMode- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.replicate(String, Object, org.hibernate.ReplicationMode)
persist
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 HibernateSession
.- 参数:
entity
- the persistent instance to persist- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.persist(Object)
,save(java.lang.Object)
persist
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 HibernateSession
.- 参数:
entityName
- the name of the persistent entityentity
- the persistent instance to persist- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.persist(String, Object)
,save(java.lang.Object)
merge
<T> 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'sIdTransferringMergeEventListener
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 instance- 返回:
- the updated, registered persistent instance
- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.merge(Object)
,saveOrUpdate(java.lang.Object)
,IdTransferringMergeEventListener
merge
<T> 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 HibernateSession
. 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'sIdTransferringMergeEventListener
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 instance- 返回:
- the updated, registered persistent instance
- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.merge(String, Object)
,saveOrUpdate(java.lang.Object)
delete
void delete(Object entity) throws DataAccessException
已过时。Delete the given persistent instance.- 参数:
entity
- the persistent instance to delete- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.delete(Object)
delete
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.
- 参数:
entity
- the persistent instance to deletelockMode
- the lock mode to obtain- 抛出:
ObjectOptimisticLockingFailureException
- if not foundDataAccessException
- in case of Hibernate errors- 另请参阅:
Session.delete(Object)
delete
void delete(String entityName, Object entity) throws DataAccessException
已过时。Delete the given persistent instance.- 参数:
entityName
- the name of the persistent entityentity
- the persistent instance to delete- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.delete(Object)
delete
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.
- 参数:
entityName
- the name of the persistent entityentity
- the persistent instance to deletelockMode
- the lock mode to obtain- 抛出:
ObjectOptimisticLockingFailureException
- if not foundDataAccessException
- in case of Hibernate errors- 另请参阅:
Session.delete(Object)
deleteAll
void deleteAll(Collection<?> entities) throws DataAccessException
已过时。Delete all given persistent instances.This can be combined with any of the find methods to delete by query in two lines of code.
- 参数:
entities
- the persistent instances to delete- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.delete(Object)
flush
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.
- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.flush()
clear
void clear() throws DataAccessException
已过时。Remove all objects from theSession
cache, and cancel all pending saves, updates and deletes.- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.clear()
find
List<?> find(String queryString) throws DataAccessException
已过时。Execute an HQL query.- 参数:
queryString
- a query expressed in Hibernate's query language- 返回:
- a
List
containing the results of the query execution - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
SharedSessionContract.createQuery(java.lang.String)
find
List<?> find(String queryString, Object value) throws DataAccessException
已过时。Execute an HQL query, binding one value to a "?" parameter in the query string.- 参数:
queryString
- a query expressed in Hibernate's query languagevalue
- the value of the parameter- 返回:
- a
List
containing the results of the query execution - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
SharedSessionContract.createQuery(java.lang.String)
find
List<?> find(String queryString, Object... values) throws DataAccessException
已过时。Execute an HQL query, binding a number of values to "?" parameters in the query string.- 参数:
queryString
- a query expressed in Hibernate's query languagevalues
- the values of the parameters- 返回:
- a
List
containing the results of the query execution - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
SharedSessionContract.createQuery(java.lang.String)
findByNamedParam
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.- 参数:
queryString
- a query expressed in Hibernate's query languageparamName
- the name of the parametervalue
- the value of the parameter- 返回:
- a
List
containing the results of the query execution - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
SharedSessionContract.getNamedQuery(String)
findByNamedParam
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.- 参数:
queryString
- a query expressed in Hibernate's query languageparamNames
- the names of the parametersvalues
- the values of the parameters- 返回:
- a
List
containing the results of the query execution - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
SharedSessionContract.getNamedQuery(String)
findByValueBean
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.- 参数:
queryString
- a query expressed in Hibernate's query languagevalueBean
- the values of the parameters- 返回:
- a
List
containing the results of the query execution - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Query.setProperties(java.lang.Object)
,SharedSessionContract.createQuery(java.lang.String)
findByNamedQuery
List<?> findByNamedQuery(String queryName) throws DataAccessException
已过时。Execute a named query.A named query is defined in a Hibernate mapping file.
- 参数:
queryName
- the name of a Hibernate query in a mapping file- 返回:
- a
List
containing the results of the query execution - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
SharedSessionContract.getNamedQuery(String)
findByNamedQuery
List<?> findByNamedQuery(String queryName, Object value) throws DataAccessException
已过时。Execute a named query, binding one value to a "?" parameter in the query string.A named query is defined in a Hibernate mapping file.
- 参数:
queryName
- the name of a Hibernate query in a mapping filevalue
- the value of the parameter- 返回:
- a
List
containing the results of the query execution - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
SharedSessionContract.getNamedQuery(String)
findByNamedQuery
List<?> findByNamedQuery(String queryName, Object... values) throws DataAccessException
已过时。Execute a named query binding a number of values to "?" parameters in the query string.A named query is defined in a Hibernate mapping file.
- 参数:
queryName
- the name of a Hibernate query in a mapping filevalues
- the values of the parameters- 返回:
- a
List
containing the results of the query execution - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
SharedSessionContract.getNamedQuery(String)
findByNamedQueryAndNamedParam
List<?> findByNamedQueryAndNamedParam(String queryName, String paramName, Object value) throws DataAccessException
已过时。Execute a named query, binding one value to a ":" named parameter in the query string.A 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 parameter- 返回:
- a
List
containing the results of the query execution - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
SharedSessionContract.getNamedQuery(String)
findByNamedQueryAndNamedParam
List<?> findByNamedQueryAndNamedParam(String queryName, String[] paramNames, Object[] values) throws DataAccessException
已过时。Execute a named query, binding a number of values to ":" named parameters in the query string.A 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 parameters- 返回:
- a
List
containing the results of the query execution - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
SharedSessionContract.getNamedQuery(String)
findByNamedQueryAndValueBean
List<?> findByNamedQueryAndValueBean(String queryName, Object valueBean) throws DataAccessException
已过时。Execute a named query, binding the properties of the given bean to ":" named parameters in the query string.A named query is defined in a Hibernate mapping file.
- 参数:
queryName
- the name of a Hibernate query in a mapping filevalueBean
- the values of the parameters- 返回:
- a
List
containing the results of the query execution - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Query.setProperties(java.lang.Object)
,SharedSessionContract.getNamedQuery(String)
findByCriteria
List<?> findByCriteria(DetachedCriteria criteria) throws DataAccessException
已过时。Execute a query based on a given Hibernate criteria object.- 参数:
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.- 返回:
- a
List
containing 0 or more persistent instances - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
DetachedCriteria.getExecutableCriteria(org.hibernate.Session)
findByCriteria
List<?> findByCriteria(DetachedCriteria criteria, int firstResult, int maxResults) throws DataAccessException
已过时。Execute a query based on the given Hibernate criteria object.- 参数:
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)- 返回:
- a
List
containing 0 or more persistent instances - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
DetachedCriteria.getExecutableCriteria(org.hibernate.Session)
,Criteria.setFirstResult(int)
,Criteria.setMaxResults(int)
findByExample
<T> List<T> findByExample(T exampleEntity) throws DataAccessException
已过时。Execute a query based on the given example entity object.- 参数:
exampleEntity
- an instance of the desired entity, serving as example for "query-by-example"- 返回:
- a
List
containing 0 or more persistent instances - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Example.create(Object)
findByExample
<T> List<T> findByExample(String entityName, T exampleEntity) throws DataAccessException
已过时。Execute a query based on the given example entity object.- 参数:
entityName
- the name of the persistent entityexampleEntity
- an instance of the desired entity, serving as example for "query-by-example"- 返回:
- a
List
containing 0 or more persistent instances - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Example.create(Object)
findByExample
<T> List<T> findByExample(T exampleEntity, int firstResult, int maxResults) throws DataAccessException
已过时。Execute a query based on a given example entity object.- 参数:
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)- 返回:
- a
List
containing 0 or more persistent instances - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Example.create(Object)
,Criteria.setFirstResult(int)
,Criteria.setMaxResults(int)
findByExample
<T> List<T> findByExample(String entityName, T exampleEntity, int firstResult, int maxResults) throws DataAccessException
已过时。Execute a query based on a given example entity object.- 参数:
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)- 返回:
- a
List
containing 0 or more persistent instances - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Example.create(Object)
,Criteria.setFirstResult(int)
,Criteria.setMaxResults(int)
iterate
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.- 参数:
queryString
- a query expressed in Hibernate's query language- 返回:
- an
Iterator
containing 0 or more persistent instances - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
SharedSessionContract.createQuery(java.lang.String)
,Query.iterate()
iterate
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.- 参数:
queryString
- a query expressed in Hibernate's query languagevalue
- the value of the parameter- 返回:
- an
Iterator
containing 0 or more persistent instances - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
SharedSessionContract.createQuery(java.lang.String)
,Query.iterate()
iterate
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.- 参数:
queryString
- a query expressed in Hibernate's query languagevalues
- the values of the parameters- 返回:
- an
Iterator
containing 0 or more persistent instances - 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
SharedSessionContract.createQuery(java.lang.String)
,Query.iterate()
closeIterator
void closeIterator(Iterator<?> it) throws DataAccessException
已过时。Immediately close anIterator
created by any of the variousiterate(..)
operations, instead of waiting until the session is closed or disconnected.- 参数:
it
- theIterator
to close- 抛出:
DataAccessException
- if theIterator
could not be closed- 另请参阅:
Hibernate.close(java.util.Iterator)
bulkUpdate
int bulkUpdate(String queryString) throws DataAccessException
已过时。Update/delete all objects according to the given query.- 参数:
queryString
- an update/delete query expressed in Hibernate's query language- 返回:
- the number of instances updated/deleted
- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
SharedSessionContract.createQuery(java.lang.String)
,Query.executeUpdate()
bulkUpdate
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.- 参数:
queryString
- an update/delete query expressed in Hibernate's query languagevalue
- the value of the parameter- 返回:
- the number of instances updated/deleted
- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
SharedSessionContract.createQuery(java.lang.String)
,Query.executeUpdate()
bulkUpdate
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.- 参数:
queryString
- an update/delete query expressed in Hibernate's query languagevalues
- the values of the parameters- 返回:
- the number of instances updated/deleted
- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
SharedSessionContract.createQuery(java.lang.String)
,Query.executeUpdate()