0

HibernateTemplate よりも HibernateDAOSupport が提供する利点を理解しようとしています。HibernateTemplate はほとんどすべてを行います。それでは、なぜ hibernateTemplate を注入して操作を行うのではなく、HibernateDAOSupport と getHibernateTemplate を拡張して操作を行う必要があるのでしょうか。DAO クラスが HibernateDAOSupport を拡張することで得られる利点は何ですか。

HibernateDAOSupport と HibernateTemplate を使用することはお勧めできませんが、違いを理解しようとしているだけです。

4

1 に答える 1

0

これは、API をざっと調べた後のちょっとした当て推量です。

最初は、セッションを完全に非表示にする HibernateTemplate があったようです。セッションへのアクセスが必要な場合は、DaoSupport がそれを提供します。

HibernateDaoSupport JavaDoc から:

この基本クラスは、主に HibernateTemplate の使用を目的としていますが、トランザクション セッションに依存する場合など、Hibernate セッションを直接操作する場合にも使用できます。その使用スタイルのために便利な getSession() および releaseSession(org.hibernate.Session) メソッドが提供されています。

しかし、getSessionDaoSupport のメソッドは、基本的に同じメソッドを持つ HibernateSession では非推奨になりました。したがって、テンプレートで取得できない DaoSupport に残っている唯一のものは、非推奨の releaseSession のようですが、HibernateTemplate API では見つかりません。

tl;dr;

これらは昔からの名残りです。考古学者でなくても、あまり心配する必要はありません。

于 2015-06-14T08:14:31.300 に答える