Class AbstractHibernateQueryProvider<T>

java.lang.Object
org.springframework.batch.item.database.orm.AbstractHibernateQueryProvider<T>
All Implemented Interfaces:
HibernateQueryProvider<T>
Direct Known Subclasses:
HibernateNativeQueryProvider

public abstract class AbstractHibernateQueryProvider<T> extends Object implements HibernateQueryProvider<T>

Abstract Hibernate Query Provider to serve as a base class for all Hibernate Query providers.

The implementing provider can be configured to use either StatelessSession sufficient for simple mappings without the need to cascade to associated objects or standard Hibernate Session for more advanced mappings or when caching is desired.

Since:
2.1
Author:
Anatoly Polinsky, Dave Syer
  • Constructor Details

    • AbstractHibernateQueryProvider

      public AbstractHibernateQueryProvider()
  • Method Details

    • setStatelessSession

      public void setStatelessSession(org.hibernate.StatelessSession statelessSession)
      Description copied from interface: HibernateQueryProvider

      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 HibernateQueryProvider.setSession(Session)

      Specified by:
      setStatelessSession in interface HibernateQueryProvider<T>
      Parameters:
      statelessSession - the StatelessSession to set
    • setSession

      public void setSession(org.hibernate.Session statefulSession)
      Description copied from interface: HibernateQueryProvider

      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 HibernateQueryProvider.setStatelessSession(StatelessSession)

      Specified by:
      setSession in interface HibernateQueryProvider<T>
      Parameters:
      statefulSession - the Session to set
    • isStatelessSession

      public boolean isStatelessSession()
    • getStatelessSession

      protected org.hibernate.StatelessSession getStatelessSession()
    • getStatefulSession

      protected org.hibernate.Session getStatefulSession()