クラス HibernateDaoSupport

java.lang.ObjectSE
org.springframework.dao.support.DaoSupport
org.springframework.orm.hibernate5.support.HibernateDaoSupport
実装されたすべてのインターフェース:
InitializingBean

public abstract class HibernateDaoSupport extends DaoSupport
Hibernate ベースのデータアクセスオブジェクトの便利なスーパークラス。

SessionFactory を設定する必要があり、それに基づいて HibernateTemplategetHibernateTemplate() メソッドを介してサブクラスに提供します。あるいは、SessionFactory、例外トランスレーター、フラッシュモードなどの HibernateTemplate の設定を再利用するために、HibernateTemplate で直接初期化できます。

このクラスは、SessionFactory が渡された場合、独自の HibernateTemplate インスタンスを作成します。その HibernateTemplate の "allowCreate" フラグはデフォルトで "true" になります。createHibernateTemplate(org.hibernate.SessionFactory) をオーバーライドすることにより、カスタム HibernateTemplate インスタンスを使用できます。

NOTE: Hibernate アクセスコードは、プレーンな Hibernate スタイルでコーディングすることもできます。新しく開始されたプロジェクトでは、代わりに SessionFactory.getCurrentSession() に基づいて、データアクセスオブジェクトをコーディングする標準の Hibernate スタイルを採用することを検討してください。この HibernateTemplate は、主に Hibernate 3 ベースのデータアクセスコードの移行ヘルパーとして存在し、Hibernate 5.x のバグ修正の恩恵を受けています。

導入:
4.2
作成者:
Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • HibernateDaoSupport

      public HibernateDaoSupport()
  • メソッドの詳細

    • setSessionFactory

      public final void setSessionFactory(SessionFactory sessionFactory)
      この DAO が使用する Hibernate SessionFactory を設定します。指定された SessionFactory の HibernateTemplate を自動的に作成します。
      関連事項:
    • createHibernateTemplate

      protected HibernateTemplate createHibernateTemplate(SessionFactory sessionFactory)
      指定された SessionFactory の HibernateTemplate を作成します。DAO に SessionFactory 参照を取り込む場合にのみ呼び出されます!

      サブクラスでオーバーライドして、異なる構成の HibernateTemplate インスタンス、またはカスタム HibernateTemplate サブクラスを提供できます。

      パラメーター:
      sessionFactory - HibernateTemplate を作成する Hibernate SessionFactory
      戻り値:
      新しい HibernateTemplate インスタンス
      関連事項:
    • getSessionFactory

      @Nullable public final SessionFactory getSessionFactory()
      この DAO が使用する Hibernate SessionFactory を返します。
    • setHibernateTemplate

      public final void setHibernateTemplate(@Nullable HibernateTemplate hibernateTemplate)
      SessionFactory を指定する代わりに、この DAO の HibernateTemplate を明示的に設定します。
      関連事項:
    • getHibernateTemplate

      @Nullable public final HibernateTemplate getHibernateTemplate()
      SessionFactory で事前に初期化された、または明示的に設定された、この DAO の HibernateTemplate を返します。

      注: 返される HibernateTemplate は共有インスタンスです。構成をイントロスペクトできますが、構成を変更することはできません(DaoSupport.initDao() 実装内からの場合を除く)。new HibernateTemplate(getSessionFactory()) を介してカスタム HibernateTemplate インスタンスを作成することを検討してください。この場合、結果のインスタンスの設定をカスタマイズできます。

    • checkDaoConfig

      protected final void checkDaoConfig()
      クラスからコピーされた説明: DaoSupport
      抽象サブクラスは、設定を確認するためにこれをオーバーライドする必要があります。

      具象サブクラスがこのテンプレートメソッド自体をオーバーライドしない場合、実装者は final としてマークする必要があります。

      次で指定:
      クラス DaoSupportcheckDaoConfig 
    • currentSession

      protected final Session currentSession() throws DataAccessResourceFailureException
      現在の Hibernate セッションを便利に取得します。
      戻り値:
      Hibernate セッション
      例外:
      DataAccessResourceFailureException - セッションを作成できなかった場合
      関連事項: