Package org.springframework.batch.item.database.orm

# Interface HibernateQueryProvider<T>

All Known Implementing Classes:
  `AbstractHibernateQueryProvider`, `HibernateNativeQueryProvider`

public interface HibernateQueryProvider<T>

Interface defining the functionality to be provided for generating queries for use with Hibernate `ItemReader`s or other custom built artifacts.

Since:
  2.1
Author:
  Anatoly Polinsky, Dave Syer

- ## Method Summary

  Modifier and Type
  Method
  Description
  `org.hibernate.query.Query<T>`
  `createQuery()`
  Create the query object which type will be determined by the underline implementation (e.g.
  `void`
  `setSession(org.hibernate.Session session)`
  Inject a `Session` that can be used as a factory for queries.
  `void`
  `setStatelessSession(org.hibernate.StatelessSession session)`
  Inject a `StatelessSession` that can be used as a factory for queries.

- ## Method Details

  - ### createQuery

    org.hibernate.query.Query<T> createQuery()

    Create the query object which type will be determined by the underline implementation (e.g. Hibernate, JPA, etc.)

    Returns:
      created query

  - ### setSession

    void setSession(org.hibernate.Session session)

    Inject a `Session` that can be used as a factory for queries. The state of the session is controlled by the caller (i.e. it should be closed if necessary).

    Use either this method or `setStatelessSession(StatelessSession)`

    Parameters:
      `session` - the `Session` to set

  - ### setStatelessSession

    void setStatelessSession(org.hibernate.StatelessSession session)

    Inject a `StatelessSession` that can be used as a factory for queries. The state of the session is controlled by the caller (i.e. it should be closed if necessary).

    Use either this method or `setSession(Session)`

    Parameters:
      `session` - the `StatelessSession` to set