- PR -

springでhibernateを操作する利点

1
投稿者投稿内容
コジ
会議室デビュー日: 2003/07/29
投稿数: 2
投稿日時: 2005-04-10 16:26
こんにちは。
最近springでhibernateを利用する事になりました、しかしいろいろと疑問を抱き始めたので、是非皆さんのご意見を伺いたいなーと思い、投稿しました。

SpringではHibernateDaoSupport, HibernateTemplate と SessionFactoryUtilsを提供していますが。こういうクラスを使うと余計ロジックとspringが絡み合うのではありませんか?まあ、逆にhibernateの宣告が少なくなったが。
それに HibernateTemplateではHibernateCallbackが作られますし、なんか余計ややこしくないですかな?

こういうクラスを使って得るメリットってどこでしょうかね?
よろしくお願いします。




hiro
常連さん
会議室デビュー日: 2005/03/10
投稿数: 32
投稿日時: 2005-04-26 22:43
こんにちは

現在、僕もspring + Hibernateで開発をするためいろいろと調べています。

よく見かける記事では、トランザクションを宣言的に使えることが利点とあります。
Webアプリケーションを開発する場合、あるDAOと別のDAOの2つを1セッション
(ここでいうセッションはHttpSessionのこと)で実行する場合
Hibernate単独だとdoPost/doGet(StrutsならActionクラス)の中にHibernateのセッション生成(トランザクションの開始・終了)を書くことになります。(Hibernateへの依存度が高まります)
そこでSpringで宣言的なトランザクション(AOPを使ったトランザクション)を使うことで、
トランザクション開始・終了の操作をdoPostメソッドなどから排除することができ、
Hibernateへの依存度を減らせます。
HibernateからほかのO/Rマッピングに変更する場合、DAOインターフェースを実装しなおせばいいので切り替えが楽にできる副作用もあります。
(あってるかな^^;)

HibernateDaoSupportを継承するのはトランザクション定義したSessionFactoryを受け取るためのものでそこから、Sessionが抽入されますので宣言的トランザクションを使うなら必須です
あとのクラスに関してはまだ調べきれていません^^;

こんな感じだとおもっていますがあっているでしょうか?

まだ調査しはじめたばかりでわからないことだらけなのですがお互いがんばりましょう。


1

スキルアップ/キャリアアップ(JOB@IT)