org.springframework.orm.hibernate5

Interface HibernateOperations

  • All Known Implementing Classes:
    HibernateTemplate


    public interface HibernateOperations
    Interface that specifies a common set of Hibernate operations as well as a general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method for Session-based lambda expressions. Implemented by HibernateTemplate. Not often used, but a useful option to enhance testability, as it can easily be mocked or stubbed.

    Defines HibernateTemplate's data access methods that mirror various Session methods. Users are strongly encouraged to read the Hibernate Session javadocs for details on the semantics of those methods.

    A deprecation note: While HibernateTemplate and this operations interface are being kept around for backwards compatibility in terms of the data access implementation style in Spring applications, we strongly recommend the use of native Session access code for non-trivial interactions. This in particular affects parameterized queries where - on Java 8+ - a custom HibernateCallback lambda code block with createQuery and several setParameter calls on the Query interface is an elegant solution, to be executed via the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method. All such operations which benefit from a lambda variant have been marked as deprecated on this interface.

    A Hibernate compatibility note: HibernateTemplate and the operations on this interface generally aim to be applicable across all Hibernate versions. In terms of binary compatibility, Spring ships a variant for each major generation of Hibernate (in the present case: Hibernate ORM 5.x). However, due to refactorings and removals in Hibernate ORM 5.3, some variants - in particular legacy positional parameters starting from index 0 - do not work anymore. All affected operations are marked as deprecated; please replace them with the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method and custom lambda blocks creating the queries, ideally setting named parameters through Query. Please be aware that deprecated operations are known to work with Hibernate ORM 5.0-5.2 but may not work with Hibernate ORM 5.3 and higher anymore.

    Since:
    4.2
    Author:
    Juergen Hoeller
    See Also:
    HibernateTemplate, Session, HibernateTransactionManager
    • Method Summary

      All Methods Instance Methods Abstract Methods Deprecated Methods 
      Modifier and Type Method and Description
      int bulkUpdate(java.lang.String queryString, java.lang.Object... values)
      Deprecated. 
      as of 5.0.4, in favor of a custom HibernateCallback lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method
      void clear()
      Remove all objects from the Session cache, and cancel all pending saves, updates and deletes.
      void closeIterator(java.util.Iterator<?> it)
      Deprecated. 
      as of 5.0.4, in favor of a custom HibernateCallback lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method
      boolean contains(java.lang.Object entity)
      Check whether the given object is in the Session cache.
      void delete(java.lang.Object entity)
      Delete the given persistent instance.
      void delete(java.lang.Object entity, LockMode lockMode)
      Delete the given persistent instance.
      void delete(java.lang.String entityName, java.lang.Object entity)
      Delete the given persistent instance.
      void delete(java.lang.String entityName, java.lang.Object entity, LockMode lockMode)
      Delete the given persistent instance.
      void deleteAll(java.util.Collection<?> entities)
      Delete all given persistent instances.
      Filter enableFilter(java.lang.String filterName)
      Return an enabled Hibernate Filter for the given filter name.
      void evict(java.lang.Object entity)
      Remove the given object from the Session cache.
      <T> T execute(HibernateCallback<T> action)
      Execute the action specified by the given action object within a Session.
      java.util.List<?> find(java.lang.String queryString, java.lang.Object... values)
      Deprecated. 
      as of 5.0.4, in favor of a custom HibernateCallback lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method
      java.util.List<?> findByCriteria(DetachedCriteria criteria)
      Execute a query based on a given Hibernate criteria object.
      java.util.List<?> findByCriteria(DetachedCriteria criteria, int firstResult, int maxResults)
      Execute a query based on the given Hibernate criteria object.
      <T> java.util.List<T> findByExample(java.lang.String entityName, T exampleEntity)
      Execute a query based on the given example entity object.
      <T> java.util.List<T> findByExample(java.lang.String entityName, T exampleEntity, int firstResult, int maxResults)
      Execute a query based on a given example entity object.
      <T> java.util.List<T> findByExample(T exampleEntity)
      Execute a query based on the given example entity object.
      <T> java.util.List<T> findByExample(T exampleEntity, int firstResult, int maxResults)
      Execute a query based on a given example entity object.
      java.util.List<?> findByNamedParam(java.lang.String queryString, java.lang.String[] paramNames, java.lang.Object[] values)
      Deprecated. 
      as of 5.0.4, in favor of a custom HibernateCallback lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method
      java.util.List<?> findByNamedParam(java.lang.String queryString, java.lang.String paramName, java.lang.Object value)
      Deprecated. 
      as of 5.0.4, in favor of a custom HibernateCallback lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method
      java.util.List<?> findByNamedQuery(java.lang.String queryName, java.lang.Object... values)
      Deprecated. 
      as of 5.0.4, in favor of a custom HibernateCallback lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method
      java.util.List<?> findByNamedQueryAndNamedParam(java.lang.String queryName, java.lang.String[] paramNames, java.lang.Object[] values)
      Deprecated. 
      as of 5.0.4, in favor of a custom HibernateCallback lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method
      java.util.List<?> findByNamedQueryAndNamedParam(java.lang.String queryName, java.lang.String paramName, java.lang.Object value)
      Deprecated. 
      as of 5.0.4, in favor of a custom HibernateCallback lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method
      java.util.List<?> findByNamedQueryAndValueBean(java.lang.String queryName, java.lang.Object valueBean)
      Deprecated. 
      as of 5.0.4, in favor of a custom HibernateCallback lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method
      java.util.List<?> findByValueBean(java.lang.String queryString, java.lang.Object valueBean)
      Deprecated. 
      as of 5.0.4, in favor of a custom HibernateCallback lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method
      void flush()
      Flush all pending saves, updates and deletes to the database.
      <T> T get(java.lang.Class<T> entityClass, java.io.Serializable id)
      Return the persistent instance of the given entity class with the given identifier, or null if not found.
      <T> T get(java.lang.Class<T> entityClass, java.io.Serializable id, LockMode lockMode)
      Return the persistent instance of the given entity class with the given identifier, or null if not found.
      java.lang.Object get(java.lang.String entityName, java.io.Serializable id)
      Return the persistent instance of the given entity class with the given identifier, or null if not found.
      java.lang.Object get(java.lang.String entityName, java.io.Serializable id, LockMode lockMode)
      Return the persistent instance of the given entity class with the given identifier, or null if not found.
      void initialize(java.lang.Object proxy)
      Force initialization of a Hibernate proxy or persistent collection.
      java.util.Iterator<?> iterate(java.lang.String queryString, java.lang.Object... values)
      Deprecated. 
      as of 5.0.4, in favor of a custom HibernateCallback lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method
      <T> T load(java.lang.Class<T> entityClass, java.io.Serializable id)
      Return the persistent instance of the given entity class with the given identifier, throwing an exception if not found.
      <T> T load(java.lang.Class<T> entityClass, java.io.Serializable id, LockMode lockMode)
      Return the persistent instance of the given entity class with the given identifier, throwing an exception if not found.
      void load(java.lang.Object entity, java.io.Serializable id)
      Load the persistent instance with the given identifier into the given object, throwing an exception if not found.
      java.lang.Object load(java.lang.String entityName, java.io.Serializable id)
      Return the persistent instance of the given entity class with the given identifier, throwing an exception if not found.
      java.lang.Object load(java.lang.String entityName, java.io.Serializable id, LockMode lockMode)
      Return the persistent instance of the given entity class with the given identifier, throwing an exception if not found.
      <T> java.util.List<T> loadAll(java.lang.Class<T> entityClass)
      Return all persistent instances of the given entity class.
      void lock(java.lang.Object entity, LockMode lockMode)
      Obtain the specified lock level upon the given object, implicitly checking whether the corresponding database entry still exists.
      void lock(java.lang.String entityName, java.lang.Object entity, LockMode lockMode)
      Obtain the specified lock level upon the given object, implicitly checking whether the corresponding database entry still exists.
      <T> T merge(java.lang.String entityName, T entity)
      Copy the state of the given object onto the persistent object with the same identifier.
      <T> T merge(T entity)
      Copy the state of the given object onto the persistent object with the same identifier.
      void persist(java.lang.Object entity)
      Persist the given transient instance.
      void persist(java.lang.String entityName, java.lang.Object entity)
      Persist the given transient instance.
      void refresh(java.lang.Object entity)
      Re-read the state of the given persistent instance.
      void refresh(java.lang.Object entity, LockMode lockMode)
      Re-read the state of the given persistent instance.
      void replicate(java.lang.Object entity, ReplicationMode replicationMode)
      Persist the state of the given detached instance according to the given replication mode, reusing the current identifier value.
      void replicate(java.lang.String entityName, java.lang.Object entity, ReplicationMode replicationMode)
      Persist the state of the given detached instance according to the given replication mode, reusing the current identifier value.
      java.io.Serializable save(java.lang.Object entity)
      Persist the given transient instance.
      java.io.Serializable save(java.lang.String entityName, java.lang.Object entity)
      Persist the given transient instance.
      void saveOrUpdate(java.lang.Object entity)
      Save or update the given persistent instance, according to its id (matching the configured "unsaved-value"?).
      void saveOrUpdate(java.lang.String entityName, java.lang.Object entity)
      Save or update the given persistent instance, according to its id (matching the configured "unsaved-value"?).
      void update(java.lang.Object entity)
      Update the given persistent instance, associating it with the current Hibernate Session.
      void update(java.lang.Object entity, LockMode lockMode)
      Update the given persistent instance, associating it with the current Hibernate Session.
      void update(java.lang.String entityName, java.lang.Object entity)
      Update the given persistent instance, associating it with the current Hibernate Session.
      void update(java.lang.String entityName, java.lang.Object entity, LockMode lockMode)
      Update the given persistent instance, associating it with the current Hibernate Session.
    • Method Detail

      • execute

        @Nullable
        <T> T execute(HibernateCallback<T> action)
                         throws DataAccessException
        Execute the action specified by the given action object within a Session.

        Application exceptions thrown by the action object get propagated to the caller (can only be unchecked). Hibernate exceptions are transformed into appropriate DAO ones. Allows for returning a result object, that is a domain object or a collection of domain objects.

        Note: Callback code is not supposed to handle transactions itself! Use an appropriate transaction manager like HibernateTransactionManager. Generally, callback code must not touch any Session lifecycle methods, like close, disconnect, or reconnect, to let the template do its work.

        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:
        HibernateTransactionManager, Session
      • get

        @Nullable
        <T> T get(java.lang.Class<T> entityClass,
                            java.io.Serializable id)
                     throws DataAccessException
        Return the persistent instance of the given entity class with the given identifier, or null if not found.

        This method is a thin wrapper around 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.

        Parameters:
        entityClass - a persistent class
        id - the identifier of the persistent instance
        Returns:
        the persistent instance, or null if not found
        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Session.get(Class, Serializable)
      • get

        @Nullable
        <T> T get(java.lang.Class<T> entityClass,
                            java.io.Serializable id,
                            LockMode lockMode)
                     throws DataAccessException
        Return the persistent instance of the given entity class with the given identifier, or null if not found.

        Obtains the specified lock mode if the instance exists.

        This method is a thin wrapper around 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.

        Parameters:
        entityClass - a persistent class
        id - the identifier of the persistent instance
        lockMode - the lock mode to obtain
        Returns:
        the persistent instance, or null if not found
        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Session.get(Class, Serializable, LockMode)
      • get

        @Nullable
        java.lang.Object get(java.lang.String entityName,
                                       java.io.Serializable id)
                                throws DataAccessException
        Return the persistent instance of the given entity class with the given identifier, or null if not found.

        This method is a thin wrapper around 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.

        Parameters:
        entityName - the name of the persistent entity
        id - the identifier of the persistent instance
        Returns:
        the persistent instance, or null if not found
        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Session.get(Class, Serializable)
      • get

        @Nullable
        java.lang.Object get(java.lang.String entityName,
                                       java.io.Serializable id,
                                       LockMode lockMode)
                                throws DataAccessException
        Return the persistent instance of the given entity class with the given identifier, or null if not found. Obtains the specified lock mode if the instance exists.

        This method is a thin wrapper around 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.

        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 null if not found
        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Session.get(Class, Serializable, LockMode)
      • load

        <T> T load(java.lang.Class<T> entityClass,
                   java.io.Serializable id)
            throws DataAccessException
        Return the persistent instance of the given entity class with the given identifier, throwing an exception if not found.

        This method is a thin wrapper around Session.load(Class, 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.

        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:
        Session.load(Class, Serializable)
      • load

        <T> T load(java.lang.Class<T> entityClass,
                   java.io.Serializable id,
                   LockMode lockMode)
            throws DataAccessException
        Return the persistent instance of the given entity class with the given identifier, throwing an exception if not found. Obtains the specified lock mode if the instance exists.

        This method is a thin wrapper around Session.load(Class, 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.

        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:
        Session.load(Class, Serializable)
      • load

        java.lang.Object load(java.lang.String entityName,
                              java.io.Serializable id)
                       throws DataAccessException
        Return the persistent instance of the given entity class with the given identifier, throwing an exception if not found.

        This method is a thin wrapper around Session.load(String, 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.

        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:
        Session.load(Class, Serializable)
      • load

        java.lang.Object load(java.lang.String entityName,
                              java.io.Serializable id,
                              LockMode lockMode)
                       throws DataAccessException
        Return the persistent instance of the given entity class with the given identifier, throwing an exception if not found.

        Obtains the specified lock mode if the instance exists.

        This method is a thin wrapper around Session.load(String, 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.

        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:
        Session.load(Class, Serializable)
      • load

        void load(java.lang.Object entity,
                  java.io.Serializable id)
           throws DataAccessException
        Load the persistent instance with the given identifier into the given object, throwing an exception if not found.

        This method is a thin wrapper around Session.load(Object, 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.

        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:
        Session.load(Object, Serializable)
      • initialize

        void initialize(java.lang.Object proxy)
                 throws DataAccessException
        Force initialization of a Hibernate proxy or persistent collection.
        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:
        Hibernate.initialize(java.lang.Object)
      • enableFilter

        Filter enableFilter(java.lang.String filterName)
                     throws java.lang.IllegalStateException
        Return an enabled Hibernate Filter for the given filter name. The returned Filter instance can be used to set filter parameters.
        Parameters:
        filterName - the name of the filter
        Returns:
        the enabled Hibernate Filter (either already enabled or enabled on the fly by this operation)
        Throws:
        java.lang.IllegalStateException - if we are not running within a transactional Session (in which case this operation does not make sense)
      • save

        java.io.Serializable save(java.lang.Object entity)
                           throws DataAccessException
        Persist the given transient instance.
        Parameters:
        entity - the transient instance to persist
        Returns:
        the generated identifier
        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Session.save(Object)
      • save

        java.io.Serializable save(java.lang.String entityName,
                                  java.lang.Object entity)
                           throws DataAccessException
        Persist the given transient instance.
        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:
        Session.save(String, Object)
      • update

        void update(java.lang.String entityName,
                    java.lang.Object entity)
             throws DataAccessException
        Update the given persistent instance, associating it with the current Hibernate Session.
        Parameters:
        entityName - the name of the persistent entity
        entity - the persistent instance to update
        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Session.update(String, Object)
      • update

        void update(java.lang.String entityName,
                    java.lang.Object entity,
                    LockMode lockMode)
             throws DataAccessException
        Update the given persistent instance, associating it with the current Hibernate Session.

        Obtains the specified lock mode if the instance exists, implicitly checking whether the corresponding database entry still exists.

        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:
        Session.update(String, Object)
      • saveOrUpdate

        void saveOrUpdate(java.lang.Object entity)
                   throws DataAccessException
        Save or update the given persistent instance, according to its id (matching the configured "unsaved-value"?). Associates the instance with the current Hibernate Session.
        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:
        Session.saveOrUpdate(Object)
      • saveOrUpdate

        void saveOrUpdate(java.lang.String entityName,
                          java.lang.Object entity)
                   throws DataAccessException
        Save or update the given persistent instance, according to its id (matching the configured "unsaved-value"?). Associates the instance with the current Hibernate Session.
        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:
        Session.saveOrUpdate(String, Object)
      • replicate

        void replicate(java.lang.String entityName,
                       java.lang.Object entity,
                       ReplicationMode replicationMode)
                throws DataAccessException
        Persist the state of the given detached instance according to the given replication mode, reusing the current identifier value.
        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:
        Session.replicate(String, Object, ReplicationMode)
      • merge

        <T> T merge(T entity)
             throws DataAccessException
        Copy the state of the given object onto the persistent object with the same identifier. Follows JSR-220 semantics.

        Similar to saveOrUpdate, but never associates the given object with the current Hibernate Session. In case of a new entity, the state will be copied over as well.

        Note that merge will not update the identifiers in the passed-in object graph (in contrast to TopLink)! Consider registering Spring's IdTransferringMergeEventListener if you would like to have newly assigned ids transferred to the original object graph too.

        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:
        Session.merge(Object), saveOrUpdate(java.lang.Object)
      • merge

        <T> T merge(java.lang.String entityName,
                    T entity)
             throws DataAccessException
        Copy the state of the given object onto the persistent object with the same identifier. Follows JSR-220 semantics.

        Similar to saveOrUpdate, but never associates the given object with the current Hibernate Session. In the case of a new entity, the state will be copied over as well.

        Note that merge will not update the identifiers in the passed-in object graph (in contrast to TopLink)! Consider registering Spring's IdTransferringMergeEventListener if you would like to have newly assigned ids transferred to the original object graph too.

        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:
        Session.merge(String, Object), saveOrUpdate(java.lang.Object)
      • delete

        void delete(java.lang.String entityName,
                    java.lang.Object entity)
             throws DataAccessException
        Delete the given persistent instance.
        Parameters:
        entityName - the name of the persistent entity
        entity - the persistent instance to delete
        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Session.delete(Object)
      • delete

        void delete(java.lang.String entityName,
                    java.lang.Object entity,
                    LockMode lockMode)
             throws DataAccessException
        Delete the given persistent instance.

        Obtains the specified lock mode if the instance exists, implicitly checking whether the corresponding database entry still exists.

        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:
        Session.delete(Object)
      • deleteAll

        void deleteAll(java.util.Collection<?> entities)
                throws DataAccessException
        Delete all given persistent instances.

        This can be combined with any of the find methods to delete by query in two lines of code.

        Parameters:
        entities - the persistent instances to delete
        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Session.delete(Object)
      • flush

        void flush()
            throws DataAccessException
        Flush all pending saves, updates and deletes to the database.

        Only invoke this for selective eager flushing, for example when JDBC code needs to see certain changes within the same transaction. Else, it is preferable to rely on auto-flushing at transaction completion.

        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Session.flush()
      • findByExample

        <T> java.util.List<T> findByExample(T exampleEntity)
                                     throws DataAccessException
        Execute a query based on the given example entity object.
        Parameters:
        exampleEntity - an instance of the desired entity, serving as example for "query-by-example"
        Returns:
        a List containing 0 or more persistent instances
        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Example.create(Object)
      • findByExample

        <T> java.util.List<T> findByExample(java.lang.String entityName,
                                            T exampleEntity)
                                     throws DataAccessException
        Execute a query based on the given example entity object.
        Parameters:
        entityName - the name of the persistent entity
        exampleEntity - an instance of the desired entity, serving as example for "query-by-example"
        Returns:
        a List containing 0 or more persistent instances
        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Example.create(Object)
      • findByExample

        <T> java.util.List<T> findByExample(T exampleEntity,
                                            int firstResult,
                                            int maxResults)
                                     throws DataAccessException
        Execute a query based on a given example entity object.
        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 List containing 0 or more persistent instances
        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Example.create(Object), Criteria.setFirstResult(int), Criteria.setMaxResults(int)
      • findByExample

        <T> java.util.List<T> findByExample(java.lang.String entityName,
                                            T exampleEntity,
                                            int firstResult,
                                            int maxResults)
                                     throws DataAccessException
        Execute a query based on a given example entity object.
        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 List containing 0 or more persistent instances
        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Example.create(Object), Criteria.setFirstResult(int), Criteria.setMaxResults(int)
      • findByNamedParam

        @Deprecated
        java.util.List<?> findByNamedParam(java.lang.String queryString,
                                                       java.lang.String paramName,
                                                       java.lang.Object value)
                                                throws DataAccessException
        Deprecated. as of 5.0.4, in favor of a custom HibernateCallback lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method
        Execute an HQL query, binding one value to a ":" named parameter in the query string.
        Parameters:
        queryString - a query expressed in Hibernate's query language
        paramName - the name of the parameter
        value - the value of the parameter
        Returns:
        a List containing the results of the query execution
        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Session.getNamedQuery(String)
      • findByNamedParam

        @Deprecated
        java.util.List<?> findByNamedParam(java.lang.String queryString,
                                                       java.lang.String[] paramNames,
                                                       java.lang.Object[] values)
                                                throws DataAccessException
        Deprecated. as of 5.0.4, in favor of a custom HibernateCallback lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method
        Execute an HQL query, binding a number of values to ":" named parameters in the query string.
        Parameters:
        queryString - a query expressed in Hibernate's query language
        paramNames - the names of the parameters
        values - the values of the parameters
        Returns:
        a List containing the results of the query execution
        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Session.getNamedQuery(String)
      • findByNamedQuery

        @Deprecated
        java.util.List<?> findByNamedQuery(java.lang.String queryName,
                                                       java.lang.Object... values)
                                                throws DataAccessException
        Deprecated. as of 5.0.4, in favor of a custom HibernateCallback lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method
        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.

        Parameters:
        queryName - the name of a Hibernate query in a mapping file
        values - the values of the parameters
        Returns:
        a List containing the results of the query execution
        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Session.getNamedQuery(String)
      • findByNamedQueryAndNamedParam

        @Deprecated
        java.util.List<?> findByNamedQueryAndNamedParam(java.lang.String queryName,
                                                                    java.lang.String paramName,
                                                                    java.lang.Object value)
                                                             throws DataAccessException
        Deprecated. as of 5.0.4, in favor of a custom HibernateCallback lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method
        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.

        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 List containing the results of the query execution
        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Session.getNamedQuery(String)
      • findByNamedQueryAndNamedParam

        @Deprecated
        java.util.List<?> findByNamedQueryAndNamedParam(java.lang.String queryName,
                                                                    java.lang.String[] paramNames,
                                                                    java.lang.Object[] values)
                                                             throws DataAccessException
        Deprecated. as of 5.0.4, in favor of a custom HibernateCallback lambda code block passed to the general execute(org.springframework.orm.hibernate5.HibernateCallback<T>) method
        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.

        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 List containing the results of the query execution
        Throws:
        DataAccessException - in case of Hibernate errors
        See Also:
        Session.getNamedQuery(String)