Hibernateとは

2008/07/11 14:23Update
TAGS: Hibernate

Hibernateは、オブジェクトとデータベースをマッピングする(ORM)ためのツールで、いわゆるORM (O/R Mapping, ORM) フレームワークです。


簡単に言えば、ORMはデータベースにあるデータをオブジェクトの形式で表現させる手法を提供します。

Java言語では、データベースとのマッピングをするには、JDBCやEntity Bean(EJB2.0)などの手法が多く見られます。
Entity Beanは、その設定の煩雑さ、簡単に動かないとの動作の重さなどの原因で、今ではあまり使われていないことも事実です。
通常のJDBCを使ったO/Rマッピングも、最も基本的な機能をしか想定していませんので、データベースに問い合わせをするには、SQL文にパラメータを設定し、Statementで実行し、結果をResultSetから取得して、実際のビジネス用のJavaオブジェクトに取得した項目を一つ一つ設定します。このような作業は非常に煩雑です。

そこで、HibernateというORMツールが登場しました。

Hibernateの特徴


◇ オブジェクト/データベースのマッピング機能。
    Hibernateは非常に強力なORMツールです。データベースのデータをJavaオブジェクトにマッピングするだけではなく、関連性のあるテーブル同士のその関係もJavaオブジェクトとして表現できます。
◇ 各データベースの共通対応。
    従来の開発では、特定なデータベースを利用することを前提にとして、開発していくことが多いですが、Hibernateでは、その心配がなくなります。どのデータベースを使うか、設定ファイルだけを修正すればよい。
◇ SQLを書かなくてもよい。Hibernateでは、SQLの代わりに、オブジェクト指向のHQLというクエリ言語を導入し、さらに、Criteria APIも提供しており、SQL書かなくてもよい。
◇ キャッシュに対応。パフォーマンス向上のためのキャッシュ機構を備えています。標準では、同じセッション内で、同一主キーによるクエリには、データベースに1回のSQL文をしか発行しません。また、二次キャッシュ、クエリキャッシュなどの機能も容易に実装できるような仕組みを提供しています。
◇ すべてはオブジェクト。開発者はオブジェクトのみを操作すればよい。
◇ デバッグ支援。すべての操作や、SQL文の出力は、適切な設定でログで記録できます。

◇ オープンソース。ライセンス:LGPL

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments