- blogs:
- cles::blog

Hibernateつかってみた


この間のプロジェクトではORM*1としてApacheのToqueを使ったので、今度はJBossのHibernateを調べてみることにした。
† ORMとは
RDBをオブジェクトにマッピングすること、またはその仕組み。
本来、オブジェクト指向で設計されたアプリケーションによって作られたオブジェクトの永続化機構を担うのはOODBという形が自然なのだけれども、現時点で一般的に普及しているデータベースはRDBであるというところがこの問題の始まり。
情報システムが過去からのデータの蓄積によって成り立っていることを考えると、その延長線でオブジェクトをどうにかしてRDBに格納したいという欲求が生まれてくる。
そもそもRDBの(基になっているDOA的な)考え方とオブジェクト指向の考え方は根本的に異なっているので、単純にオブジェクトをRDBにマッピングしようとするとそのギャップに苦労することになる。このギャップをインピーダンスミスマッチという。このギャップを吸収してくれるツール(フレームワーク)がORMだ。
これによりRDBMSをOODBライクにあつかえるようになる。まぁ、まだ複雑な処理を行うようなときにはSQLを書かないといけないのだけれど。
† OODBの他の問題
OODBはRDBほど成熟していないモノなので、操作方法がRDBにおけるSQLのように標準化されていなかったり、速度がRDBほど出なかったり、操作に専用のツールが必要だったりと使い勝手の点でまだまだRDBMSにかなわない。
RDBMSの全盛はしばらく続くだろう。
† Hibernate
xmlによるマッピングの定義ファイルとHQLという独自の問い合わせ言語によってオブジェクトを取り出す仕組みが特徴のようだ。詳細な感想についてはもうちょっと使ってみてから改めて書きたいと思う。
- *1: Object-Relational Mapper
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/149
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110720)
3 . 年次の人間ドックへ(110329)
4 . 2023 年分の確定申告完了!(1つめ)(109878)
5 . 三菱鉛筆がラミーを買収(109784)