类 HibernateTemplate
- java.lang.Object
- org.springframework.orm.hibernate3.HibernateAccessor
- org.springframework.orm.hibernate3.HibernateTemplate
- 所有已实现的接口:
Aware
,BeanFactoryAware
,InitializingBean
,HibernateOperations
@Deprecated public class HibernateTemplate extends HibernateAccessor implements HibernateOperations
已过时。as of Spring 4.3, in favor of Hibernate 4.x/5.xHelper class that simplifies Hibernate data access code. Automatically converts HibernateExceptions into DataAccessExceptions, following theorg.springframework.dao
exception hierarchy.The central method is
execute
, supporting Hibernate access code implementing theHibernateCallback
interface. It provides Hibernate Session handling such that neither the HibernateCallback implementation nor the calling code needs to explicitly care about retrieving/closing Hibernate Sessions, or handling Session lifecycle exceptions. For typical single step actions, there are various convenience methods (find, load, saveOrUpdate, delete).Can be used within a service implementation via direct instantiation with a SessionFactory reference, or get prepared in an application context and given to services as bean reference. Note: The SessionFactory should always be configured as bean in the application context, in the first case given to the service directly, in the second case to the prepared template.
NOTE: As of Hibernate 3.0.1, transactional Hibernate access code can also be coded in plain Hibernate style. Hence, for newly started projects, consider adopting the standard Hibernate3 style of coding data access objects instead, based on
SessionFactory.getCurrentSession()
.This class can be considered as direct alternative to working with the raw Hibernate3 Session API (through
SessionFactory.getCurrentSession()
). The major advantage is its automatic conversion to DataAccessExceptions as well as its capability to fall back to 'auto-commit' style behavior when used outside of transactions. Note that HibernateTemplate will perform its own Session management, not participating in a custom Hibernate CurrentSessionContext unless you explicitly switch"allowCreate"
to "false".LocalSessionFactoryBean
is the preferred way of obtaining a reference to a specific Hibernate SessionFactory, at least in a non-EJB environment. The Spring application context will manage its lifecycle, initializing and shutting down the factory as part of the application.Note that operations that return an Iterator (i.e.
iterate
) are supposed to be used within Spring-driven or JTA-driven transactions (with HibernateTransactionManager, JtaTransactionManager, or EJB CMT). Else, the Iterator won't be able to read results from its ResultSet anymore, as the underlying Hibernate Session will already have been closed.Lazy loading will also just work with an open Hibernate Session, either within a transaction or within OpenSessionInViewFilter/Interceptor. Furthermore, some operations just make sense within transactions, for example:
contains
,evict
,lock
,flush
,clear
.
字段概要
从类继承的字段 org.springframework.orm.hibernate3.HibernateAccessor
FLUSH_ALWAYS, FLUSH_AUTO, FLUSH_COMMIT, FLUSH_EAGER, FLUSH_NEVER, logger
构造器概要
构造器 构造器 说明 HibernateTemplate()
已过时。Create a new HibernateTemplate instance.HibernateTemplate(SessionFactory sessionFactory)
已过时。Create a new HibernateTemplate instance.HibernateTemplate(SessionFactory sessionFactory, boolean allowCreate)
已过时。Create a new HibernateTemplate instance.
方法概要
所有方法 实例方法 具体方法 已过时的方法 修饰符和类型 方法 说明 protected void
applyNamedParameterToQuery(Query queryObject, String paramName, Object value)
已过时。Apply the given name parameter to the given Query object.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 "?"protected void
checkWriteOperationAllowed(Session session)
已过时。Check whether write operations are allowed on the given Session.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.protected Session
createSessionProxy(Session session)
已过时。Create a close-suppressing proxy for the given Hibernate Session.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.protected <T> T
doExecute(HibernateCallback<T> action, boolean enforceNewSession, boolean enforceNativeSession)
已过时。Execute the action specified by the given action object within a Session.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)
已过时。<T> T
executeWithNativeSession(HibernateCallback<T> action)
已过时。Execute the action specified by the given action object within a nativeSession
.<T> T
executeWithNewSession(HibernateCallback<T> action)
已过时。Execute the action specified by the given action object within a newSession
.List<?>
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.int
getFetchSize()
已过时。Return the fetch size specified for this HibernateTemplate.int
getMaxResults()
已过时。Return the maximum number of rows specified for this HibernateTemplate.String
getQueryCacheRegion()
已过时。Return the name of the cache region for queries executed by this template.protected Session
getSession()
已过时。Return a Session for use by this template.void
initialize(Object proxy)
已过时。Force initialization of a Hibernate proxy or persistent collection.boolean
isAllowCreate()
已过时。Return if a new Session should be created if no thread-bound found.boolean
isAlwaysUseNewSession()
已过时。Return whether to always use a new Hibernate Session for this template.boolean
isCacheQueries()
已过时。Return whether to cache all queries executed by this template.boolean
isCheckWriteOperations()
已过时。Return whether to check that the Hibernate Session is not in read-only mode in case of write operations (save/update/delete).boolean
isExposeNativeSession()
已过时。Return whether to expose the native Hibernate Session to HibernateCallback code, or rather a Session proxy.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.protected void
prepareCriteria(Criteria criteria)
已过时。Prepare the given Criteria object, applying cache settings and/or a transaction timeout.protected void
prepareQuery(Query queryObject)
已过时。Prepare the given Query object, applying cache settings and/or a transaction timeout.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
setAllowCreate(boolean allowCreate)
已过时。Set if a newSession
should be created when no transactionalSession
can be found for the current thread.void
setAlwaysUseNewSession(boolean alwaysUseNewSession)
已过时。Set whether to always use a new Hibernate Session for this template.void
setCacheQueries(boolean cacheQueries)
已过时。Set whether to cache all queries executed by this template.void
setCheckWriteOperations(boolean checkWriteOperations)
已过时。Set whether to check that the Hibernate Session is not in read-only mode in case of write operations (save/update/delete).void
setExposeNativeSession(boolean exposeNativeSession)
已过时。Set whether to expose the native Hibernate Session to HibernateCallback code.void
setFetchSize(int fetchSize)
已过时。Set the fetch size for this HibernateTemplate.void
setMaxResults(int maxResults)
已过时。Set the maximum number of rows for this HibernateTemplate.void
setQueryCacheRegion(String queryCacheRegion)
已过时。Set the name of the cache region for queries executed by this template.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
.从类继承的方法 org.springframework.orm.hibernate3.HibernateAccessor
afterPropertiesSet, applyFlushMode, convertHibernateAccessException, convertJdbcAccessException, convertJdbcAccessException, disableFilters, enableFilters, flushIfNecessary, getDefaultJdbcExceptionTranslator, getEntityInterceptor, getFilterNames, getFlushMode, getJdbcExceptionTranslator, getSessionFactory, setBeanFactory, setEntityInterceptor, setEntityInterceptorBeanName, setFilterName, setFilterNames, setFlushMode, setFlushModeName, setJdbcExceptionTranslator, setSessionFactory
构造器详细资料
HibernateTemplate
public HibernateTemplate()
已过时。Create a new HibernateTemplate instance.
HibernateTemplate
public HibernateTemplate(SessionFactory sessionFactory)
已过时。Create a new HibernateTemplate instance.- 参数:
sessionFactory
- the SessionFactory to create Sessions with
HibernateTemplate
public HibernateTemplate(SessionFactory sessionFactory, boolean allowCreate)
已过时。Create a new HibernateTemplate instance.- 参数:
sessionFactory
- the SessionFactory to create Sessions withallowCreate
- if a non-transactional Session should be created when no transactional Session can be found for the current thread
方法详细资料
setAllowCreate
public void setAllowCreate(boolean allowCreate)
已过时。Set if a newSession
should be created when no transactionalSession
can be found for the current thread. The default value istrue
.HibernateTemplate
is aware of a correspondingSession
bound to the current thread, for example when usingHibernateTransactionManager
. IfallowCreate
istrue
, a new non-transactionalSession
will be created if none is found, which needs to be closed at the end of the operation. Iffalse
, anIllegalStateException
will get thrown in this case.NOTE: As of Spring 2.5, switching
allowCreate
tofalse
will delegate to Hibernate'sSessionFactory.getCurrentSession()
method, which - with Spring-based setup - will by default delegate to Spring'sSessionFactoryUtils.getSession(sessionFactory, false)
. This mode also allows for custom Hibernate CurrentSessionContext strategies to be plugged in, whereasallowCreate
set totrue
will always use a Spring-managed Hibernate Session.
isAllowCreate
public boolean isAllowCreate()
已过时。Return if a new Session should be created if no thread-bound found.
setAlwaysUseNewSession
public void setAlwaysUseNewSession(boolean alwaysUseNewSession)
已过时。Set whether to always use a new Hibernate Session for this template. Default is "false"; if activated, all operations on this template will work on a new Hibernate Session even in case of a pre-bound Session (for example, within a transaction or OpenSessionInViewFilter).Within a transaction, a new Hibernate Session used by this template will participate in the transaction through using the same JDBC Connection. In such a scenario, multiple Sessions will participate in the same database transaction.
Turn this on for operations that are supposed to always execute independently, without side effects caused by a shared Hibernate Session.
isAlwaysUseNewSession
public boolean isAlwaysUseNewSession()
已过时。Return whether to always use a new Hibernate Session for this template.
setExposeNativeSession
public void setExposeNativeSession(boolean exposeNativeSession)
已过时。Set whether to expose the native Hibernate Session to HibernateCallback code.Default is "false": a Session proxy will be returned, suppressing
close
calls and automatically applying query cache settings and transaction timeouts.
isExposeNativeSession
public boolean isExposeNativeSession()
已过时。Return whether to expose the native Hibernate Session to HibernateCallback code, or rather a Session proxy.
setCheckWriteOperations
public void setCheckWriteOperations(boolean checkWriteOperations)
已过时。Set whether to check that the Hibernate Session is not in read-only mode in case of write operations (save/update/delete).Default is "true", for fail-fast behavior when attempting write operations within a read-only transaction. Turn this off to allow save/update/delete on a Session with flush mode NEVER.
isCheckWriteOperations
public boolean isCheckWriteOperations()
已过时。Return whether to check that the Hibernate Session is not in read-only mode in case of write operations (save/update/delete).
setCacheQueries
public void setCacheQueries(boolean cacheQueries)
已过时。Set whether to cache all queries executed by this template.If this is "true", all Query and Criteria objects created by this template will be marked as cacheable (including all queries through find methods).
To specify the query region to be used for queries cached by this template, set the "queryCacheRegion" property.
isCacheQueries
public boolean isCacheQueries()
已过时。Return whether to cache all queries executed by this template.
setQueryCacheRegion
public void setQueryCacheRegion(String queryCacheRegion)
已过时。Set the name of the cache region for queries executed by this template.If this is specified, it will be applied to all Query and Criteria objects created by this template (including all queries through find methods).
The cache region will not take effect unless queries created by this template are configured to be cached via the "cacheQueries" property.
getQueryCacheRegion
public String getQueryCacheRegion()
已过时。Return the name of the cache region for queries executed by this template.
setFetchSize
public void setFetchSize(int fetchSize)
已过时。Set the fetch size for this HibernateTemplate. This is important for processing large result sets: Setting this higher than the default value will increase processing speed at the cost of memory consumption; setting this lower can avoid transferring row data that will never be read by the application.Default is 0, indicating to use the JDBC driver's default.
getFetchSize
public int getFetchSize()
已过时。Return the fetch size specified for this HibernateTemplate.
setMaxResults
public void setMaxResults(int maxResults)
已过时。Set the maximum number of rows for this HibernateTemplate. This is important for processing subsets of large result sets, avoiding to read and hold the entire result set in the database or in the JDBC driver if we're never interested in the entire result in the first place (for example, when performing searches that might return a large number of matches).Default is 0, indicating to use the JDBC driver's default.
getMaxResults
public int getMaxResults()
已过时。Return the maximum number of rows specified for this HibernateTemplate.
execute
public <T> T execute(HibernateCallback<T> action) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.- 指定者:
execute
在接口中HibernateOperations
- 参数:
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 public List<?> executeFind(HibernateCallback<?> action) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Execute 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.
- 指定者:
executeFind
在接口中HibernateOperations
- 参数:
action
- callback object that specifies the Hibernate action- 返回:
- a List result returned by the action, or
null
- 抛出:
DataAccessException
- in case of Hibernate errors
executeWithNewSession
public <T> T executeWithNewSession(HibernateCallback<T> action)
已过时。Execute the action specified by the given action object within a newSession
.This execute variant overrides the template-wide
"alwaysUseNewSession"
setting.- 参数:
action
- callback object that specifies the Hibernate action- 返回:
- a result object returned by the action, or
null
- 抛出:
DataAccessException
- in case of Hibernate errors
executeWithNativeSession
public <T> T executeWithNativeSession(HibernateCallback<T> action)
已过时。Execute the action specified by the given action object within a nativeSession
.This execute variant overrides the template-wide
"exposeNativeSession"
setting.- 参数:
action
- callback object that specifies the Hibernate action- 返回:
- a result object returned by the action, or
null
- 抛出:
DataAccessException
- in case of Hibernate errors
doExecute
protected <T> T doExecute(HibernateCallback<T> action, boolean enforceNewSession, boolean enforceNativeSession) throws DataAccessException
已过时。Execute the action specified by the given action object within a Session.- 参数:
action
- callback object that specifies the Hibernate actionenforceNewSession
- whether to enforce a new Session for this template even if there is a pre-bound transactional SessionenforceNativeSession
- whether to enforce exposure of the native Hibernate Session to callback code- 返回:
- a result object returned by the action, or
null
- 抛出:
DataAccessException
- in case of Hibernate errors
getSession
protected Session getSession()
已过时。Return a Session for use by this template.Returns a new Session in case of "alwaysUseNewSession" (using the same JDBC Connection as a transactional Session, if applicable), a pre-bound Session in case of "allowCreate" turned off, and a pre-bound or new Session otherwise (new only if no transactional or otherwise pre-bound Session exists).
createSessionProxy
protected Session createSessionProxy(Session session)
已过时。Create a close-suppressing proxy for the given Hibernate Session. The proxy also prepares returned Query and Criteria objects.- 参数:
session
- the Hibernate Session to create a proxy for- 返回:
- the Session proxy
- 另请参阅:
Session.close()
,prepareQuery(org.hibernate.Query)
,prepareCriteria(org.hibernate.Criteria)
get
public <T> T get(Class<T> entityClass, Serializable id) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.- 指定者:
get
在接口中HibernateOperations
- 参数:
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
public <T> T get(Class<T> entityClass, Serializable id, LockMode lockMode) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.- 指定者:
get
在接口中HibernateOperations
- 参数:
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
public Object get(String entityName, Serializable id) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.- 指定者:
get
在接口中HibernateOperations
- 参数:
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
public Object get(String entityName, Serializable id, LockMode lockMode) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.- 指定者:
get
在接口中HibernateOperations
- 参数:
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
public <T> T load(Class<T> entityClass, Serializable id) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.- 指定者:
load
在接口中HibernateOperations
- 参数:
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
public <T> T load(Class<T> entityClass, Serializable id, LockMode lockMode) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.- 指定者:
load
在接口中HibernateOperations
- 参数:
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
public Object load(String entityName, Serializable id) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.- 指定者:
load
在接口中HibernateOperations
- 参数:
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
public Object load(String entityName, Serializable id, LockMode lockMode) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.- 指定者:
load
在接口中HibernateOperations
- 参数:
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
public <T> List<T> loadAll(Class<T> entityClass) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Return all persistent instances of the given entity class. Note: Use queries or criteria for retrieving a specific subset.- 指定者:
loadAll
在接口中HibernateOperations
- 参数:
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
public void load(Object entity, Serializable id) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.- 指定者:
load
在接口中HibernateOperations
- 参数:
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
public void refresh(Object entity) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Re-read the state of the given persistent instance.- 指定者:
refresh
在接口中HibernateOperations
- 参数:
entity
- the persistent instance to re-read- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.refresh(Object)
refresh
public void refresh(Object entity, LockMode lockMode) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Re-read the state of the given persistent instance. Obtains the specified lock mode for the instance.- 指定者:
refresh
在接口中HibernateOperations
- 参数:
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
public boolean contains(Object entity) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Check whether the given object is in the Session cache.- 指定者:
contains
在接口中HibernateOperations
- 参数:
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
public void evict(Object entity) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Remove the given object from theSession
cache.- 指定者:
evict
在接口中HibernateOperations
- 参数:
entity
- the persistent instance to evict- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.evict(java.lang.Object)
initialize
public void initialize(Object proxy) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Force initialization of a Hibernate proxy or persistent collection.- 指定者:
initialize
在接口中HibernateOperations
- 参数:
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
public Filter enableFilter(String filterName) throws IllegalStateException
已过时。从接口复制的说明:HibernateOperations
Return an enabled HibernateFilter
for the given filter name. The returnedFilter
instance can be used to set filter parameters.- 指定者:
enableFilter
在接口中HibernateOperations
- 参数:
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
public void lock(Object entity, LockMode lockMode) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Obtain the specified lock level upon the given object, implicitly checking whether the corresponding database entry still exists.- 指定者:
lock
在接口中HibernateOperations
- 参数:
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
public void lock(String entityName, Object entity, LockMode lockMode) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Obtain the specified lock level upon the given object, implicitly checking whether the corresponding database entry still exists.- 指定者:
lock
在接口中HibernateOperations
- 参数:
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
public Serializable save(Object entity) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Persist the given transient instance.- 指定者:
save
在接口中HibernateOperations
- 参数:
entity
- the transient instance to persist- 返回:
- the generated identifier
- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.save(Object)
save
public Serializable save(String entityName, Object entity) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Persist the given transient instance.- 指定者:
save
在接口中HibernateOperations
- 参数:
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
public void update(Object entity) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Update the given persistent instance, associating it with the current HibernateSession
.- 指定者:
update
在接口中HibernateOperations
- 参数:
entity
- the persistent instance to update- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.update(Object)
update
public void update(Object entity, LockMode lockMode) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.
- 指定者:
update
在接口中HibernateOperations
- 参数:
entity
- the persistent instance to updatelockMode
- the lock mode to obtain- 抛出:
ObjectOptimisticLockingFailureException
- if not foundDataAccessException
- in case of Hibernate errors- 另请参阅:
Session.update(Object)
update
public void update(String entityName, Object entity) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Update the given persistent instance, associating it with the current HibernateSession
.- 指定者:
update
在接口中HibernateOperations
- 参数:
entityName
- the name of the persistent entityentity
- the persistent instance to update- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.update(String, Object)
update
public void update(String entityName, Object entity, LockMode lockMode) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.
- 指定者:
update
在接口中HibernateOperations
- 参数:
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
public void saveOrUpdate(Object entity) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Save or update the given persistent instance, according to its id (matching the configured "unsaved-value"?). Associates the instance with the current HibernateSession
.- 指定者:
saveOrUpdate
在接口中HibernateOperations
- 参数:
entity
- the persistent instance to save or update (to be associated with the HibernateSession
)- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.saveOrUpdate(Object)
saveOrUpdate
public void saveOrUpdate(String entityName, Object entity) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Save or update the given persistent instance, according to its id (matching the configured "unsaved-value"?). Associates the instance with the current HibernateSession
.- 指定者:
saveOrUpdate
在接口中HibernateOperations
- 参数:
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
public void replicate(Object entity, ReplicationMode replicationMode) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Persist the state of the given detached instance according to the given replication mode, reusing the current identifier value.- 指定者:
replicate
在接口中HibernateOperations
- 参数:
entity
- the persistent object to replicatereplicationMode
- the Hibernate ReplicationMode- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.replicate(Object, org.hibernate.ReplicationMode)
replicate
public void replicate(String entityName, Object entity, ReplicationMode replicationMode) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Persist the state of the given detached instance according to the given replication mode, reusing the current identifier value.- 指定者:
replicate
在接口中HibernateOperations
- 参数:
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
public void persist(Object entity) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Persist the given transient instance. Follows JSR-220 semantics.Similar to
save
, associating the given object with the current HibernateSession
.- 指定者:
persist
在接口中HibernateOperations
- 参数:
entity
- the persistent instance to persist- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.persist(Object)
,HibernateOperations.save(java.lang.Object)
persist
public void persist(String entityName, Object entity) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Persist the given transient instance. Follows JSR-220 semantics.Similar to
save
, associating the given object with the current HibernateSession
.- 指定者:
persist
在接口中HibernateOperations
- 参数:
entityName
- the name of the persistent entityentity
- the persistent instance to persist- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.persist(String, Object)
,HibernateOperations.save(java.lang.Object)
merge
public <T> T merge(T entity) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.- 指定者:
merge
在接口中HibernateOperations
- 参数:
entity
- the object to merge with the corresponding persistence instance- 返回:
- the updated, registered persistent instance
- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.merge(Object)
,HibernateOperations.saveOrUpdate(java.lang.Object)
,IdTransferringMergeEventListener
merge
public <T> T merge(String entityName, T entity) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.- 指定者:
merge
在接口中HibernateOperations
- 参数:
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)
,HibernateOperations.saveOrUpdate(java.lang.Object)
delete
public void delete(Object entity) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Delete the given persistent instance.- 指定者:
delete
在接口中HibernateOperations
- 参数:
entity
- the persistent instance to delete- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.delete(Object)
delete
public void delete(Object entity, LockMode lockMode) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Delete the given persistent instance.Obtains the specified lock mode if the instance exists, implicitly checking whether the corresponding database entry still exists.
- 指定者:
delete
在接口中HibernateOperations
- 参数:
entity
- the persistent instance to deletelockMode
- the lock mode to obtain- 抛出:
ObjectOptimisticLockingFailureException
- if not foundDataAccessException
- in case of Hibernate errors- 另请参阅:
Session.delete(Object)
delete
public void delete(String entityName, Object entity) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Delete the given persistent instance.- 指定者:
delete
在接口中HibernateOperations
- 参数:
entityName
- the name of the persistent entityentity
- the persistent instance to delete- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.delete(Object)
delete
public void delete(String entityName, Object entity, LockMode lockMode) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Delete the given persistent instance.Obtains the specified lock mode if the instance exists, implicitly checking whether the corresponding database entry still exists.
- 指定者:
delete
在接口中HibernateOperations
- 参数:
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
public void deleteAll(Collection<?> entities) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Delete all given persistent instances.This can be combined with any of the find methods to delete by query in two lines of code.
- 指定者:
deleteAll
在接口中HibernateOperations
- 参数:
entities
- the persistent instances to delete- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.delete(Object)
flush
public void flush() throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.
- 指定者:
flush
在接口中HibernateOperations
- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.flush()
clear
public void clear() throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Remove all objects from theSession
cache, and cancel all pending saves, updates and deletes.- 指定者:
clear
在接口中HibernateOperations
- 抛出:
DataAccessException
- in case of Hibernate errors- 另请参阅:
Session.clear()
find
public List<?> find(String queryString) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Execute an HQL query.- 指定者:
find
在接口中HibernateOperations
- 参数:
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
public List<?> find(String queryString, Object value) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Execute an HQL query, binding one value to a "?" parameter in the query string.- 指定者:
find
在接口中HibernateOperations
- 参数:
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
public List<?> find(String queryString, Object... values) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Execute an HQL query, binding a number of values to "?" parameters in the query string.- 指定者:
find
在接口中HibernateOperations
- 参数:
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
public List<?> findByNamedParam(String queryString, String paramName, Object value) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Execute an HQL query, binding one value to a ":" named parameter in the query string.- 指定者:
findByNamedParam
在接口中HibernateOperations
- 参数:
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
public List<?> findByNamedParam(String queryString, String[] paramNames, Object[] values) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Execute an HQL query, binding a number of values to ":" named parameters in the query string.- 指定者:
findByNamedParam
在接口中HibernateOperations
- 参数:
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
public List<?> findByValueBean(String queryString, Object valueBean) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Execute an HQL query, binding the properties of the given bean to named parameters in the query string.- 指定者:
findByValueBean
在接口中HibernateOperations
- 参数:
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
public List<?> findByNamedQuery(String queryName) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Execute a named query.A named query is defined in a Hibernate mapping file.
- 指定者:
findByNamedQuery
在接口中HibernateOperations
- 参数:
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
public List<?> findByNamedQuery(String queryName, Object value) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Execute a named query, binding one value to a "?" parameter in the query string.A named query is defined in a Hibernate mapping file.
- 指定者:
findByNamedQuery
在接口中HibernateOperations
- 参数:
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
public List<?> findByNamedQuery(String queryName, Object... values) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.
- 指定者:
findByNamedQuery
在接口中HibernateOperations
- 参数:
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
public List<?> findByNamedQueryAndNamedParam(String queryName, String paramName, Object value) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.
- 指定者:
findByNamedQueryAndNamedParam
在接口中HibernateOperations
- 参数:
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
public List<?> findByNamedQueryAndNamedParam(String queryName, String[] paramNames, Object[] values) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.
- 指定者:
findByNamedQueryAndNamedParam
在接口中HibernateOperations
- 参数:
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
public List<?> findByNamedQueryAndValueBean(String queryName, Object valueBean) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.
- 指定者:
findByNamedQueryAndValueBean
在接口中HibernateOperations
- 参数:
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
public List<?> findByCriteria(DetachedCriteria criteria) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Execute a query based on a given Hibernate criteria object.- 指定者:
findByCriteria
在接口中HibernateOperations
- 参数:
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
public List<?> findByCriteria(DetachedCriteria criteria, int firstResult, int maxResults) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Execute a query based on the given Hibernate criteria object.- 指定者:
findByCriteria
在接口中HibernateOperations
- 参数:
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
public <T> List<T> findByExample(T exampleEntity) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Execute a query based on the given example entity object.- 指定者:
findByExample
在接口中HibernateOperations
- 参数:
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
public <T> List<T> findByExample(String entityName, T exampleEntity) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Execute a query based on the given example entity object.- 指定者:
findByExample
在接口中HibernateOperations
- 参数:
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
public <T> List<T> findByExample(T exampleEntity, int firstResult, int maxResults) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Execute a query based on a given example entity object.- 指定者:
findByExample
在接口中HibernateOperations
- 参数:
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
public <T> List<T> findByExample(String entityName, T exampleEntity, int firstResult, int maxResults) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Execute a query based on a given example entity object.- 指定者:
findByExample
在接口中HibernateOperations
- 参数:
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
public Iterator<?> iterate(String queryString) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.- 指定者:
iterate
在接口中HibernateOperations
- 参数:
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
public Iterator<?> iterate(String queryString, Object value) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.- 指定者:
iterate
在接口中HibernateOperations
- 参数:
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
public Iterator<?> iterate(String queryString, Object... values) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
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.- 指定者:
iterate
在接口中HibernateOperations
- 参数:
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
public void closeIterator(Iterator<?> it) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Immediately close anIterator
created by any of the variousiterate(..)
operations, instead of waiting until the session is closed or disconnected.- 指定者:
closeIterator
在接口中HibernateOperations
- 参数:
it
- theIterator
to close- 抛出:
DataAccessException
- if theIterator
could not be closed- 另请参阅:
Hibernate.close(java.util.Iterator)
bulkUpdate
public int bulkUpdate(String queryString) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Update/delete all objects according to the given query.- 指定者:
bulkUpdate
在接口中HibernateOperations
- 参数:
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
public int bulkUpdate(String queryString, Object value) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Update/delete all objects according to the given query, binding one value to a "?" parameter in the query string.- 指定者:
bulkUpdate
在接口中HibernateOperations
- 参数:
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
public int bulkUpdate(String queryString, Object... values) throws DataAccessException
已过时。从接口复制的说明:HibernateOperations
Update/delete all objects according to the given query, binding a number of values to "?" parameters in the query string.- 指定者:
bulkUpdate
在接口中HibernateOperations
- 参数:
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()
checkWriteOperationAllowed
protected void checkWriteOperationAllowed(Session session) throws InvalidDataAccessApiUsageException
已过时。Check whether write operations are allowed on the given Session.Default implementation throws an InvalidDataAccessApiUsageException in case of
FlushMode.MANUAL
. Can be overridden in subclasses.- 参数:
session
- current Hibernate Session- 抛出:
InvalidDataAccessApiUsageException
- if write operations are not allowed- 另请参阅:
setCheckWriteOperations(boolean)
,HibernateAccessor.getFlushMode()
,HibernateAccessor.FLUSH_EAGER
,Session.getFlushMode()
,FlushMode.MANUAL
prepareQuery
protected void prepareQuery(Query queryObject)
已过时。Prepare the given Query object, applying cache settings and/or a transaction timeout.- 参数:
queryObject
- the Query object to prepare- 另请参阅:
setCacheQueries(boolean)
,setQueryCacheRegion(java.lang.String)
,SessionFactoryUtils.applyTransactionTimeout(org.hibernate.Query, org.hibernate.SessionFactory)
prepareCriteria
protected void prepareCriteria(Criteria criteria)
已过时。Prepare the given Criteria object, applying cache settings and/or a transaction timeout.- 参数:
criteria
- the Criteria object to prepare- 另请参阅:
setCacheQueries(boolean)
,setQueryCacheRegion(java.lang.String)
,SessionFactoryUtils.applyTransactionTimeout(org.hibernate.Query, org.hibernate.SessionFactory)
applyNamedParameterToQuery
protected void applyNamedParameterToQuery(Query queryObject, String paramName, Object value) throws HibernateException
已过时。Apply the given name parameter to the given Query object.- 参数:
queryObject
- the Query objectparamName
- the name of the parametervalue
- the value of the parameter- 抛出:
HibernateException
- if thrown by the Query object