人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Java開発者の皆さん、Hibernateを使うことで、あなた個人はやりやすくなった? 逆にやりづらくなった?
プロジェクト全体の生産性はあがった?

具体的にどんなところが?

あなたの率直な感想をきかせてください。

●質問者: MASHMASH
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:Hibernate Java あなた プロジェクト 感想
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● KairuaAruika
●10ポイント

http://www.thinkit.co.jp/free/article/0606/13/7/

http://jp.sun.com/communities/open/technology/02_framework2.html

http://www.iajapan.org/iw/iajapanforum2004.html

http://www.wsdeveloper.com/viewtopic.php?p=576

http://www.ne.senshu-u.ac.jp/~proj16-22/hibernate/hibernate.htm

http://b.hatena.ne.jp/keyword/Hibernate

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=29914&am...

http://www.ogis-ri.co.jp/otc/hiroba/technical/HibernateForOnsite...

参考までに

◎質問者からの返答

ありがとうございます。

どんなモノかはわかっているので、現場の感想があれば、ぜひ!


2 ● b-wind
●30ポイント

個人的にはすごく便利になりましたし、実際一人プロジェクトでは生産効率が上がりました。

SQL 直接書かなくて済むのはいいですね。

Eclipse のプラグインで DB からリバースエンジニアリングで設定ファイルとクラス群を自動生成してくれますし。

http://hibernatesynch.sourceforge.net/

以前 Toque を使おうとして設定の複雑さに頓挫してしまったので、これは非常に助かりました。


逆に複数人でのプロジェクトでは自分以外が初体験だったので、習熟までに時間がかかってしまいました。

当時は日本語の資料が少なかったのも合って難儀しました。

もっとも、これは hibernate に限った話ではないと思いますが。

◎質問者からの返答

具体的にありがとうございます。

すごく参考になります。


3 ● soniichi
●30ポイント

http://naoya.dyndns.org/~naoya/mt/archives/001483.html

(url は参考です)

少人数のチームであったので一概に生産性があがったかどうかは言えないのですが、個人的には取得に必要な初期投資を鑑みても生産性はある程度出ていたのではと感じました。

たとえば、SQLインジェクション対応とかイチから作成していたら、単体テストも含めると結構しんどいですし。XDoclet等使えばhibernateも手間が軽減できますし。

ただしある程度経験 or カンがいい人でないと逆に生産性が落ちそうな気がします。

あとはシステム開発の生産性とは別になりますが、使い方が下手だと逆にシステムパフォーマンスが落ちる可能性があるので注意が必要だと思います。

◎質問者からの返答

ありがとうございます。

言われて気づきましたが、インジェクション対策もいらなくなるんですね。

大変参考になります!


4 ● tatsuparu
●30ポイント

Hibernateは使いどころが重要ですね。


設計を主に行っている私としては、

Hibernateをオブジェクトの永続化フレームワークと捉えることで、ドメインモデル,サービス,DAOの設計に専念できるのでラクになりました。

実装を行う場合でも、JDBC等を利用した手動マッピングの手間と間違いが無いのでラクになりました。


HibernateでDAO層の実装を行う場合、RDBをオブジェクトの永続場所と捉えることが基本です。

RDBをデータの集約場所と考えてしまうとHibernateが適用しにくくなると思います。

Hibernateを知らない人が先にテーブルの設計を行い、その後にHibernateを適用しようとすると、無理が出てくる場合もあります。

Hibernateを導入し始めた時は「DBはオブジェクトを永続化するためだけのもの」とメンバーに認識させるのが辛かったです。どうしても「SQLが、、、」と考えてしまいがちです。


私は基本的にすべてのDAOでHibernate実装を行ってみます。その中でHibernateのデメリットが現れる部分については、Hibernate以外で実装を行うという使い分けをしています。

そして、テーブルの設計はクラス設計が済んでから行っています。(ほとんどドメインモデルから生成したスキーマで事足りるのですが)


使いどころを間違えると、「遅い」「面倒」と言った評価を受けるでしょうが、有効に利用すれば必ず生産性と品質は向上するはずです。

http://hatena.ne.jp/

◎質問者からの返答

なるほど、見事な使い分けですね。

設計段階から考慮するのですね

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ