Class HibernateTemplate
- All Implemented Interfaces:
- InitializingBean,- HibernateOperations
org.springframework.dao exception hierarchy.
 The central method is execute, supporting Hibernate access code
 implementing the HibernateCallback 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: Hibernate access code can also be coded against the native Hibernate
 Session. Hence, for newly started projects, consider adopting the standard
 Hibernate style of coding against SessionFactory.getCurrentSession().
 Alternatively, use execute(HibernateCallback) with Java 8 lambda code blocks
 against the callback-provided Session which results in elegant code as well,
 decoupled from the Hibernate Session lifecycle. The remaining operations on this
 HibernateTemplate are deprecated in the meantime and primarily exist as a migration
 helper for older Hibernate 3.x/4.x data access code in existing applications.
- Since:
- 4.2
- Author:
- Juergen Hoeller
- See Also:
- 
Field SummaryFields
- 
Constructor SummaryConstructorsConstructorDescriptionCreate a new HibernateTemplate instance.HibernateTemplate(SessionFactory sessionFactory) Create a new HibernateTemplate instance.
- 
Method SummaryModifier and TypeMethodDescriptionvoidInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.protected voidapplyNamedParameterToQuery(Query<?> queryObject, String paramName, Object value) Apply the given name parameter to the given Query object.intbulkUpdate(String queryString, Object... values) Deprecated.protected voidcheckWriteOperationAllowed(Session session) Check whether write operations are allowed on the given Session.voidclear()Remove all objects from theSessioncache, and cancel all pending saves, updates and deletes.voidcloseIterator(Iterator<?> it) Deprecated.booleanCheck whether the given object is in the Session cache.protected SessioncreateSessionProxy(Session session) Create a close-suppressing proxy for the given Hibernate Session.voidDelete the given persistent instance.voidDelete the given persistent instance.voidDelete the given persistent instance.voidDelete the given persistent instance.voiddeleteAll(Collection<?> entities) Delete all given persistent instances.protected voiddisableFilters(Session session) Disable the specified filters on the given Session.protected <T> TdoExecute(HibernateCallback<T> action, boolean enforceNativeSession) Execute the action specified by the given action object within a Session.enableFilter(String filterName) Return an enabled HibernateFilterfor the given filter name.protected voidenableFilters(Session session) Enable the specified filters on the given Session.voidRemove the given object from theSessioncache.<T> Texecute(HibernateCallback<T> action) Execute the action specified by the given action object within aSession.<T> TexecuteWithNativeSession(HibernateCallback<T> action) Execute the action specified by the given action object within a nativeSession.List<?>Deprecated.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) Deprecated.List<?>findByNamedParam(String queryString, String paramName, Object value) Deprecated.List<?>findByNamedQuery(String queryName, Object... values) Deprecated.List<?>findByNamedQueryAndNamedParam(String queryName, String[] paramNames, Object[] values) Deprecated.List<?>findByNamedQueryAndNamedParam(String queryName, String paramName, Object value) Deprecated.List<?>findByNamedQueryAndValueBean(String queryName, Object valueBean) Deprecated.List<?>findByValueBean(String queryString, Object valueBean) Deprecated.voidflush()Flush all pending saves, updates and deletes to the database.<T> Tget(Class<T> entityClass, Serializable id) Return the persistent instance of the given entity class with the given identifier, ornullif not found.<T> Tget(Class<T> entityClass, Serializable id, LockMode lockMode) Return the persistent instance of the given entity class with the given identifier, ornullif not found.get(String entityName, Serializable id) Return the persistent instance of the given entity class with the given identifier, ornullif not found.get(String entityName, Serializable id, LockMode lockMode) Return the persistent instance of the given entity class with the given identifier, ornullif not found.intReturn the fetch size specified for this HibernateTemplate.String[]Return the names of Hibernate filters to be activated, if any.intReturn the maximum number of rows specified for this HibernateTemplate.Return the name of the cache region for queries executed by this template.Return the Hibernate SessionFactory that should be used to create Hibernate Sessions.voidinitialize(Object proxy) Force initialization of a Hibernate proxy or persistent collection.booleanReturn whether to cache all queries executed by this template.booleanReturn whether to check that the Hibernate Session is not in read-only mode in case of write operations (save/update/delete).booleanReturn whether to expose the native Hibernate Session to HibernateCallback code, or rather a Session proxy.Iterator<?>Deprecated.<T> Tload(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> Tload(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.voidload(Object entity, Serializable id) Load the persistent instance with the given identifier into the given object, throwing an exception if not found.load(String entityName, Serializable id) Return the persistent instance of the given entity class with the given identifier, throwing an exception if not found.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>Return all persistent instances of the given entity class.voidObtain the specified lock level upon the given object, implicitly checking whether the corresponding database entry still exists.voidObtain the specified lock level upon the given object, implicitly checking whether the corresponding database entry still exists.<T> TCopy the state of the given object onto the persistent object with the same identifier.<T> Tmerge(T entity) Copy the state of the given object onto the persistent object with the same identifier.protected final SessionFactoryObtain the SessionFactory for actual use.voidPersist the given transient instance.voidPersist the given transient instance.protected voidprepareCriteria(Criteria criteria) Prepare the given Criteria object, applying cache settings and/or a transaction timeout.protected voidprepareQuery(Query<?> queryObject) Prepare the given Query object, applying cache settings and/or a transaction timeout.voidRe-read the state of the given persistent instance.voidRe-read the state of the given persistent instance.voidreplicate(Object entity, ReplicationMode replicationMode) Persist the state of the given detached instance according to the given replication mode, reusing the current identifier value.voidreplicate(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.Persist the given transient instance.Persist the given transient instance.voidsaveOrUpdate(Object entity) Save or update the given persistent instance, according to its id (matching the configured "unsaved-value"?).voidsaveOrUpdate(String entityName, Object entity) Save or update the given persistent instance, according to its id (matching the configured "unsaved-value"?).voidsetCacheQueries(boolean cacheQueries) Set whether to cache all queries executed by this template.voidsetCheckWriteOperations(boolean checkWriteOperations) Set whether to check that the Hibernate Session is not in read-only mode in case of write operations (save/update/delete).voidsetExposeNativeSession(boolean exposeNativeSession) Set whether to expose the native Hibernate Session to HibernateCallback code.voidsetFetchSize(int fetchSize) Set the fetch size for this HibernateTemplate.voidsetFilterNames(String... filterNames) Set one or more names of Hibernate filters to be activated for all Sessions that this accessor works with.voidsetMaxResults(int maxResults) Set the maximum number of rows for this HibernateTemplate.voidsetQueryCacheRegion(String queryCacheRegion) Set the name of the cache region for queries executed by this template.voidsetSessionFactory(SessionFactory sessionFactory) Set the Hibernate SessionFactory that should be used to create Hibernate Sessions.voidUpdate the given persistent instance, associating it with the current HibernateSession.voidUpdate the given persistent instance, associating it with the current HibernateSession.voidUpdate the given persistent instance, associating it with the current HibernateSession.voidUpdate the given persistent instance, associating it with the current HibernateSession.
- 
Field Details- 
logger
 
- 
- 
Constructor Details- 
HibernateTemplatepublic HibernateTemplate()Create a new HibernateTemplate instance.
- 
HibernateTemplateCreate a new HibernateTemplate instance.- Parameters:
- sessionFactory- the SessionFactory to create Sessions with
 
 
- 
- 
Method Details- 
setSessionFactorySet the Hibernate SessionFactory that should be used to create Hibernate Sessions.
- 
getSessionFactoryReturn the Hibernate SessionFactory that should be used to create Hibernate Sessions.
- 
obtainSessionFactoryObtain the SessionFactory for actual use.- Returns:
- the SessionFactory (never null)
- Throws:
- IllegalStateException- in case of no SessionFactory set
- Since:
- 5.0
 
- 
setFilterNamesSet one or more names of Hibernate filters to be activated for all Sessions that this accessor works with.Each of those filters will be enabled at the beginning of each operation and correspondingly disabled at the end of the operation. This will work for newly opened Sessions as well as for existing Sessions (for example, within a transaction). 
- 
getFilterNamesReturn the names of Hibernate filters to be activated, if any.
- 
setExposeNativeSessionpublic 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 closecalls and automatically applying query cache settings and transaction timeouts.
- 
isExposeNativeSessionpublic boolean isExposeNativeSession()Return whether to expose the native Hibernate Session to HibernateCallback code, or rather a Session proxy.
- 
setCheckWriteOperationspublic 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 MANUAL. 
- 
isCheckWriteOperationspublic boolean isCheckWriteOperations()Return whether to check that the Hibernate Session is not in read-only mode in case of write operations (save/update/delete).
- 
setCacheQueriespublic 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. 
- 
isCacheQueriespublic boolean isCacheQueries()Return whether to cache all queries executed by this template.
- 
setQueryCacheRegionSet 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. 
- 
getQueryCacheRegionReturn the name of the cache region for queries executed by this template.
- 
setFetchSizepublic 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. 
- 
getFetchSizepublic int getFetchSize()Return the fetch size specified for this HibernateTemplate.
- 
setMaxResultspublic 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. 
- 
getMaxResultspublic int getMaxResults()Return the maximum number of rows specified for this HibernateTemplate.
- 
afterPropertiesSetpublic void afterPropertiesSet()Description copied from interface:InitializingBeanInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set. - Specified by:
- afterPropertiesSetin interface- InitializingBean
 
- 
executeDescription copied from interface:HibernateOperationsExecute 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 anySessionlifecycle methods, like close, disconnect, or reconnect, to let the template do its work.- Specified by:
- executein interface- HibernateOperations
- Parameters:
- action- callback object that specifies the Hibernate action
- Returns:
- a result object returned by the action, or null
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
executeWithNativeSessionExecute the action specified by the given action object within a nativeSession.This execute variant overrides the template-wide "exposeNativeSession"setting.- Parameters:
- action- callback object that specifies the Hibernate action
- Returns:
- a result object returned by the action, or null
- Throws:
- DataAccessException- in case of Hibernate errors
 
- 
doExecute@Nullable protected <T> T doExecute(HibernateCallback<T> action, boolean enforceNativeSession) throws DataAccessException Execute the action specified by the given action object within a Session.- Parameters:
- action- callback object that specifies the Hibernate action
- enforceNativeSession- whether to enforce exposure of the native Hibernate Session to callback code
- Returns:
- a result object returned by the action, or null
- Throws:
- DataAccessException- in case of Hibernate errors
 
- 
createSessionProxyCreate a close-suppressing proxy for the given Hibernate Session. The proxy also prepares returned Query and Criteria objects.- Parameters:
- session- the Hibernate Session to create a proxy for
- Returns:
- the Session proxy
- See Also:
 
- 
enableFiltersEnable the specified filters on the given Session.- Parameters:
- session- the current Hibernate Session
- See Also:
 
- 
disableFiltersDisable the specified filters on the given Session.- Parameters:
- session- the current Hibernate Session
- See Also:
 
- 
getDescription copied from interface:HibernateOperationsReturn the persistent instance of the given entity class with the given identifier, ornullif not found.This method is a thin wrapper around Session.get(Class, Serializable)for convenience. For an explanation of the exact semantics of this method, please do refer to the Hibernate API documentation in the first instance.- Specified by:
- getin interface- HibernateOperations
- Parameters:
- entityClass- a persistent class
- id- the identifier of the persistent instance
- Returns:
- the persistent instance, or nullif not found
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
get@Nullable public <T> T get(Class<T> entityClass, Serializable id, @Nullable LockMode lockMode) throws DataAccessException Description copied from interface:HibernateOperationsReturn the persistent instance of the given entity class with the given identifier, ornullif not found.Obtains the specified lock mode if the instance exists. This method is a thin wrapper around Session.get(Class, Serializable, LockMode)for convenience. For an explanation of the exact semantics of this method, please do refer to the Hibernate API documentation in the first instance.- Specified by:
- getin interface- HibernateOperations
- Parameters:
- entityClass- a persistent class
- id- the identifier of the persistent instance
- lockMode- the lock mode to obtain
- Returns:
- the persistent instance, or nullif not found
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
getDescription copied from interface:HibernateOperationsReturn the persistent instance of the given entity class with the given identifier, ornullif not found.This method is a thin wrapper around Session.get(String, Serializable)for convenience. For an explanation of the exact semantics of this method, please do refer to the Hibernate API documentation in the first instance.- Specified by:
- getin interface- HibernateOperations
- Parameters:
- entityName- the name of the persistent entity
- id- the identifier of the persistent instance
- Returns:
- the persistent instance, or nullif not found
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
get@Nullable public Object get(String entityName, Serializable id, @Nullable LockMode lockMode) throws DataAccessException Description copied from interface:HibernateOperationsReturn the persistent instance of the given entity class with the given identifier, ornullif not found. Obtains the specified lock mode if the instance exists.This method is a thin wrapper around Session.get(String, Serializable, LockMode)for convenience. For an explanation of the exact semantics of this method, please do refer to the Hibernate API documentation in the first instance.- Specified by:
- getin interface- HibernateOperations
- Parameters:
- entityName- the name of the persistent entity
- id- the identifier of the persistent instance
- lockMode- the lock mode to obtain
- Returns:
- the persistent instance, or nullif not found
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
loadDescription copied from interface:HibernateOperationsReturn 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, 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.- Specified by:
- loadin interface- HibernateOperations
- Parameters:
- entityClass- a persistent class
- id- the identifier of the persistent instance
- Returns:
- the persistent instance
- Throws:
- ObjectRetrievalFailureException- if not found
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
loadpublic <T> T load(Class<T> entityClass, Serializable id, @Nullable LockMode lockMode) throws DataAccessException Description copied from interface:HibernateOperationsReturn 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, 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.- Specified by:
- loadin interface- HibernateOperations
- Parameters:
- entityClass- a persistent class
- id- the identifier of the persistent instance
- lockMode- the lock mode to obtain
- Returns:
- the persistent instance
- Throws:
- ObjectRetrievalFailureException- if not found
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
loadDescription copied from interface:HibernateOperationsReturn 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, 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.- Specified by:
- loadin interface- HibernateOperations
- Parameters:
- entityName- the name of the persistent entity
- id- the identifier of the persistent instance
- Returns:
- the persistent instance
- Throws:
- ObjectRetrievalFailureException- if not found
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
loadpublic Object load(String entityName, Serializable id, @Nullable LockMode lockMode) throws DataAccessException Description copied from interface:HibernateOperationsReturn 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, 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.- Specified by:
- loadin interface- HibernateOperations
- Parameters:
- entityName- the name of the persistent entity
- id- the identifier of the persistent instance
- lockMode- the lock mode to obtain
- Returns:
- the persistent instance
- Throws:
- ObjectRetrievalFailureException- if not found
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
loadAllDescription copied from interface:HibernateOperationsReturn all persistent instances of the given entity class. Note: Use queries or criteria for retrieving a specific subset.- Specified by:
- loadAllin interface- HibernateOperations
- Parameters:
- entityClass- a persistent class
- Returns:
- a Listcontaining 0 or more persistent instances
- Throws:
- DataAccessException- if there is a Hibernate error
- See Also:
 
- 
loadDescription copied from interface:HibernateOperationsLoad 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, 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.- Specified by:
- loadin interface- HibernateOperations
- Parameters:
- entity- the object (of the target class) to load into
- id- the identifier of the persistent instance
- Throws:
- ObjectRetrievalFailureException- if not found
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
refreshDescription copied from interface:HibernateOperationsRe-read the state of the given persistent instance.- Specified by:
- refreshin interface- HibernateOperations
- Parameters:
- entity- the persistent instance to re-read
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
refreshDescription copied from interface:HibernateOperationsRe-read the state of the given persistent instance. Obtains the specified lock mode for the instance.- Specified by:
- refreshin interface- HibernateOperations
- Parameters:
- entity- the persistent instance to re-read
- lockMode- the lock mode to obtain
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
containsDescription copied from interface:HibernateOperationsCheck whether the given object is in the Session cache.- Specified by:
- containsin interface- HibernateOperations
- Parameters:
- entity- the persistence instance to check
- Returns:
- whether the given object is in the Session cache
- Throws:
- DataAccessException- if there is a Hibernate error
- See Also:
 
- 
evictDescription copied from interface:HibernateOperationsRemove the given object from theSessioncache.- Specified by:
- evictin interface- HibernateOperations
- Parameters:
- entity- the persistent instance to evict
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
initializeDescription copied from interface:HibernateOperationsForce initialization of a Hibernate proxy or persistent collection.- Specified by:
- initializein interface- HibernateOperations
- Parameters:
- proxy- a proxy for a persistent object or a persistent collection
- Throws:
- DataAccessException- if we can't initialize the proxy, for example because it is not associated with an active Session
- See Also:
 
- 
enableFilterDescription copied from interface:HibernateOperationsReturn an enabled HibernateFilterfor the given filter name. The returnedFilterinstance can be used to set filter parameters.- Specified by:
- enableFilterin interface- HibernateOperations
- Parameters:
- filterName- the name of the filter
- Returns:
- the enabled Hibernate Filter(either already enabled or enabled on the fly by this operation)
- Throws:
- IllegalStateException- if we are not running within a transactional Session (in which case this operation does not make sense)
 
- 
lockDescription copied from interface:HibernateOperationsObtain the specified lock level upon the given object, implicitly checking whether the corresponding database entry still exists.- Specified by:
- lockin interface- HibernateOperations
- Parameters:
- entity- the persistent instance to lock
- lockMode- the lock mode to obtain
- Throws:
- ObjectOptimisticLockingFailureException- if not found
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
lockDescription copied from interface:HibernateOperationsObtain the specified lock level upon the given object, implicitly checking whether the corresponding database entry still exists.- Specified by:
- lockin interface- HibernateOperations
- Parameters:
- entityName- the name of the persistent entity
- entity- the persistent instance to lock
- lockMode- the lock mode to obtain
- Throws:
- ObjectOptimisticLockingFailureException- if not found
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
saveDescription copied from interface:HibernateOperationsPersist the given transient instance.- Specified by:
- savein interface- HibernateOperations
- Parameters:
- entity- the transient instance to persist
- Returns:
- the generated identifier
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
saveDescription copied from interface:HibernateOperationsPersist the given transient instance.- Specified by:
- savein interface- HibernateOperations
- Parameters:
- entityName- the name of the persistent entity
- entity- the transient instance to persist
- Returns:
- the generated identifier
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
updateDescription copied from interface:HibernateOperationsUpdate the given persistent instance, associating it with the current HibernateSession.- Specified by:
- updatein interface- HibernateOperations
- Parameters:
- entity- the persistent instance to update
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
updateDescription copied from interface:HibernateOperationsUpdate 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. - Specified by:
- updatein interface- HibernateOperations
- Parameters:
- entity- the persistent instance to update
- lockMode- the lock mode to obtain
- Throws:
- ObjectOptimisticLockingFailureException- if not found
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
updateDescription copied from interface:HibernateOperationsUpdate the given persistent instance, associating it with the current HibernateSession.- Specified by:
- updatein interface- HibernateOperations
- Parameters:
- entityName- the name of the persistent entity
- entity- the persistent instance to update
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
updatepublic void update(String entityName, Object entity, @Nullable LockMode lockMode) throws DataAccessException Description copied from interface:HibernateOperationsUpdate 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. - Specified by:
- updatein interface- HibernateOperations
- Parameters:
- entityName- the name of the persistent entity
- entity- the persistent instance to update
- lockMode- the lock mode to obtain
- Throws:
- ObjectOptimisticLockingFailureException- if not found
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
saveOrUpdateDescription copied from interface:HibernateOperationsSave or update the given persistent instance, according to its id (matching the configured "unsaved-value"?). Associates the instance with the current HibernateSession.- Specified by:
- saveOrUpdatein interface- HibernateOperations
- Parameters:
- entity- the persistent instance to save or update (to be associated with the Hibernate- Session)
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
saveOrUpdateDescription copied from interface:HibernateOperationsSave or update the given persistent instance, according to its id (matching the configured "unsaved-value"?). Associates the instance with the current HibernateSession.- Specified by:
- saveOrUpdatein interface- HibernateOperations
- Parameters:
- entityName- the name of the persistent entity
- entity- the persistent instance to save or update (to be associated with the Hibernate- Session)
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
replicateDescription copied from interface:HibernateOperationsPersist the state of the given detached instance according to the given replication mode, reusing the current identifier value.- Specified by:
- replicatein interface- HibernateOperations
- Parameters:
- entity- the persistent object to replicate
- replicationMode- the Hibernate ReplicationMode
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
replicatepublic void replicate(String entityName, Object entity, ReplicationMode replicationMode) throws DataAccessException Description copied from interface:HibernateOperationsPersist the state of the given detached instance according to the given replication mode, reusing the current identifier value.- Specified by:
- replicatein interface- HibernateOperations
- Parameters:
- entityName- the name of the persistent entity
- entity- the persistent object to replicate
- replicationMode- the Hibernate ReplicationMode
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
persistDescription copied from interface:HibernateOperationsPersist the given transient instance. Follows JSR-220 semantics.Similar to save, associating the given object with the current HibernateSession.- Specified by:
- persistin interface- HibernateOperations
- Parameters:
- entity- the persistent instance to persist
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
persistDescription copied from interface:HibernateOperationsPersist the given transient instance. Follows JSR-220 semantics.Similar to save, associating the given object with the current HibernateSession.- Specified by:
- persistin interface- HibernateOperations
- Parameters:
- entityName- the name of the persistent entity
- entity- the persistent instance to persist
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
mergeDescription copied from interface:HibernateOperationsCopy 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 mergewill not update the identifiers in the passed-in object graph (in contrast to TopLink)! Consider registering Spring'sIdTransferringMergeEventListenerif you would like to have newly assigned ids transferred to the original object graph too.- Specified by:
- mergein interface- HibernateOperations
- Parameters:
- entity- the object to merge with the corresponding persistence instance
- Returns:
- the updated, registered persistent instance
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
mergeDescription copied from interface:HibernateOperationsCopy 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 mergewill not update the identifiers in the passed-in object graph (in contrast to TopLink)! Consider registering Spring'sIdTransferringMergeEventListenerif you would like to have newly assigned ids transferred to the original object graph too.- Specified by:
- mergein interface- HibernateOperations
- Parameters:
- entityName- the name of the persistent entity
- entity- the object to merge with the corresponding persistence instance
- Returns:
- the updated, registered persistent instance
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
deleteDescription copied from interface:HibernateOperationsDelete the given persistent instance.- Specified by:
- deletein interface- HibernateOperations
- Parameters:
- entity- the persistent instance to delete
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
deleteDescription copied from interface:HibernateOperationsDelete the given persistent instance.Obtains the specified lock mode if the instance exists, implicitly checking whether the corresponding database entry still exists. - Specified by:
- deletein interface- HibernateOperations
- Parameters:
- entity- the persistent instance to delete
- lockMode- the lock mode to obtain
- Throws:
- ObjectOptimisticLockingFailureException- if not found
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
deleteDescription copied from interface:HibernateOperationsDelete the given persistent instance.- Specified by:
- deletein interface- HibernateOperations
- Parameters:
- entityName- the name of the persistent entity
- entity- the persistent instance to delete
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
deletepublic void delete(String entityName, Object entity, @Nullable LockMode lockMode) throws DataAccessException Description copied from interface:HibernateOperationsDelete the given persistent instance.Obtains the specified lock mode if the instance exists, implicitly checking whether the corresponding database entry still exists. - Specified by:
- deletein interface- HibernateOperations
- Parameters:
- entityName- the name of the persistent entity
- entity- the persistent instance to delete
- lockMode- the lock mode to obtain
- Throws:
- ObjectOptimisticLockingFailureException- if not found
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
deleteAllDescription copied from interface:HibernateOperationsDelete all given persistent instances.This can be combined with any of the find methods to delete by query in two lines of code. - Specified by:
- deleteAllin interface- HibernateOperations
- Parameters:
- entities- the persistent instances to delete
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
flushDescription copied from interface:HibernateOperationsFlush 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. - Specified by:
- flushin interface- HibernateOperations
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
clearDescription copied from interface:HibernateOperationsRemove all objects from theSessioncache, and cancel all pending saves, updates and deletes.- Specified by:
- clearin interface- HibernateOperations
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
findByCriteriaDescription copied from interface:HibernateOperationsExecute a query based on a given Hibernate criteria object.- Specified by:
- findByCriteriain interface- HibernateOperations
- Parameters:
- 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.
- Returns:
- a Listcontaining 0 or more persistent instances
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
findByCriteriapublic List<?> findByCriteria(DetachedCriteria criteria, int firstResult, int maxResults) throws DataAccessException Description copied from interface:HibernateOperationsExecute a query based on the given Hibernate criteria object.- Specified by:
- findByCriteriain interface- HibernateOperations
- Parameters:
- 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)
- Returns:
- a Listcontaining 0 or more persistent instances
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
findByExampleDescription copied from interface:HibernateOperationsExecute a query based on the given example entity object.- Specified by:
- findByExamplein interface- HibernateOperations
- Parameters:
- exampleEntity- an instance of the desired entity, serving as example for "query-by-example"
- Returns:
- a Listcontaining 0 or more persistent instances
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
findByExampleDescription copied from interface:HibernateOperationsExecute a query based on the given example entity object.- Specified by:
- findByExamplein interface- HibernateOperations
- Parameters:
- entityName- the name of the persistent entity
- exampleEntity- an instance of the desired entity, serving as example for "query-by-example"
- Returns:
- a Listcontaining 0 or more persistent instances
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
findByExamplepublic <T> List<T> findByExample(T exampleEntity, int firstResult, int maxResults) throws DataAccessException Description copied from interface:HibernateOperationsExecute a query based on a given example entity object.- Specified by:
- findByExamplein interface- HibernateOperations
- Parameters:
- 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)
- Returns:
- a Listcontaining 0 or more persistent instances
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
findByExamplepublic <T> List<T> findByExample(@Nullable String entityName, T exampleEntity, int firstResult, int maxResults) throws DataAccessException Description copied from interface:HibernateOperationsExecute a query based on a given example entity object.- Specified by:
- findByExamplein interface- HibernateOperations
- Parameters:
- entityName- the name of the persistent entity
- 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)
- Returns:
- a Listcontaining 0 or more persistent instances
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
find@Deprecated public List<?> find(String queryString, @Nullable Object... values) throws DataAccessException Deprecated.Description copied from interface:HibernateOperationsExecute an HQL query, binding a number of values to "?" parameters in the query string.- Specified by:
- findin interface- HibernateOperations
- Parameters:
- queryString- a query expressed in Hibernate's query language
- values- the values of the parameters
- Returns:
- a Listcontaining the results of the query execution
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
findByNamedParam@Deprecated public List<?> findByNamedParam(String queryString, String paramName, Object value) throws DataAccessException Deprecated.Description copied from interface:HibernateOperationsExecute an HQL query, binding one value to a ":" named parameter in the query string.- Specified by:
- findByNamedParamin interface- HibernateOperations
- Parameters:
- queryString- a query expressed in Hibernate's query language
- paramName- the name of the parameter
- value- the value of the parameter
- Returns:
- a Listcontaining the results of the query execution
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
findByNamedParam@Deprecated public List<?> findByNamedParam(String queryString, String[] paramNames, Object[] values) throws DataAccessException Deprecated.Description copied from interface:HibernateOperationsExecute an HQL query, binding a number of values to ":" named parameters in the query string.- Specified by:
- findByNamedParamin interface- HibernateOperations
- Parameters:
- queryString- a query expressed in Hibernate's query language
- paramNames- the names of the parameters
- values- the values of the parameters
- Returns:
- a Listcontaining the results of the query execution
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
findByValueBean@Deprecated public List<?> findByValueBean(String queryString, Object valueBean) throws DataAccessException Deprecated.Description copied from interface:HibernateOperationsExecute an HQL query, binding the properties of the given bean to named parameters in the query string.- Specified by:
- findByValueBeanin interface- HibernateOperations
- Parameters:
- queryString- a query expressed in Hibernate's query language
- valueBean- the values of the parameters
- Returns:
- a Listcontaining the results of the query execution
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
findByNamedQuery@Deprecated public List<?> findByNamedQuery(String queryName, @Nullable Object... values) throws DataAccessException Deprecated.Description copied from interface:HibernateOperationsExecute a named query binding a number of values to "?" parameters in the query string.A named query is defined in a Hibernate mapping file. - Specified by:
- findByNamedQueryin interface- HibernateOperations
- Parameters:
- queryName- the name of a Hibernate query in a mapping file
- values- the values of the parameters
- Returns:
- a Listcontaining the results of the query execution
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
findByNamedQueryAndNamedParam@Deprecated public List<?> findByNamedQueryAndNamedParam(String queryName, String paramName, Object value) throws DataAccessException Deprecated.Description copied from interface:HibernateOperationsExecute a named query, binding one value to a ":" named parameter in the query string.A named query is defined in a Hibernate mapping file. - Specified by:
- findByNamedQueryAndNamedParamin interface- HibernateOperations
- Parameters:
- queryName- the name of a Hibernate query in a mapping file
- paramName- the name of parameter
- value- the value of the parameter
- Returns:
- a Listcontaining the results of the query execution
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
findByNamedQueryAndNamedParam@Deprecated public List<?> findByNamedQueryAndNamedParam(String queryName, @Nullable String[] paramNames, @Nullable Object[] values) throws DataAccessException Deprecated.Description copied from interface:HibernateOperationsExecute 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. - Specified by:
- findByNamedQueryAndNamedParamin interface- HibernateOperations
- Parameters:
- queryName- the name of a Hibernate query in a mapping file
- paramNames- the names of the parameters
- values- the values of the parameters
- Returns:
- a Listcontaining the results of the query execution
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
findByNamedQueryAndValueBean@Deprecated public List<?> findByNamedQueryAndValueBean(String queryName, Object valueBean) throws DataAccessException Deprecated.Description copied from interface:HibernateOperationsExecute 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. - Specified by:
- findByNamedQueryAndValueBeanin interface- HibernateOperations
- Parameters:
- queryName- the name of a Hibernate query in a mapping file
- valueBean- the values of the parameters
- Returns:
- a Listcontaining the results of the query execution
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
iterate@Deprecated public Iterator<?> iterate(String queryString, @Nullable Object... values) throws DataAccessException Deprecated.Description copied from interface:HibernateOperationsExecute 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.- Specified by:
- iteratein interface- HibernateOperations
- Parameters:
- queryString- a query expressed in Hibernate's query language
- values- the values of the parameters
- Returns:
- an Iteratorcontaining 0 or more persistent instances
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
closeIteratorDeprecated.Description copied from interface:HibernateOperationsImmediately close anIteratorcreated by any of the variousiterate(..)operations, instead of waiting until the session is closed or disconnected.- Specified by:
- closeIteratorin interface- HibernateOperations
- Parameters:
- it- the- Iteratorto close
- Throws:
- DataAccessException- if the- Iteratorcould not be closed
- See Also:
 
- 
bulkUpdate@Deprecated public int bulkUpdate(String queryString, @Nullable Object... values) throws DataAccessException Deprecated.Description copied from interface:HibernateOperationsUpdate/delete all objects according to the given query, binding a number of values to "?" parameters in the query string.- Specified by:
- bulkUpdatein interface- HibernateOperations
- Parameters:
- queryString- an update/delete query expressed in Hibernate's query language
- values- the values of the parameters
- Returns:
- the number of instances updated/deleted
- Throws:
- DataAccessException- in case of Hibernate errors
- See Also:
 
- 
checkWriteOperationAllowedprotected 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.- Parameters:
- session- current Hibernate Session
- Throws:
- InvalidDataAccessApiUsageException- if write operations are not allowed
- See Also:
 
- 
prepareCriteriaPrepare the given Criteria object, applying cache settings and/or a transaction timeout.- Parameters:
- criteria- the Criteria object to prepare
- See Also:
 
- 
prepareQueryPrepare the given Query object, applying cache settings and/or a transaction timeout.- Parameters:
- queryObject- the Query object to prepare
- See Also:
 
- 
applyNamedParameterToQueryprotected void applyNamedParameterToQuery(Query<?> queryObject, String paramName, Object value) throws HibernateException Apply the given name parameter to the given Query object.- Parameters:
- queryObject- the Query object
- paramName- the name of the parameter
- value- the value of the parameter
- Throws:
- HibernateException- if thrown by the Query object
 
 
-