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
Sponsored Link
- Relative Articles
- Hibernate設定ファイルその1 - hibernate.cfg.xml - (2008/07/09 14:08)
- Hibernate c3p0 - よく利用されているコネクションプーリング - (2008/07/09 15:00)
- Hibernate 方言(Dialect)一覧 - (2008/07/09 15:10)
- Hibernate のSessionとSessionFactory - (2008/07/09 15:51)
- ThreadLocal でHibernate Session を効率的に管理する - (2008/07/09 18:43)
- Hibernateで複数のDBに接続するには? - (2008/07/09 18:47)
- Hibernate のインストール - (2008/07/24 11:01)
- Hibernate の開発手順 - (2008/07/24 12:44)
- Hibernate SQLをログに出力方法 - (2008/07/30 16:06)
- Hibernate究明 - サンプルから学ぶHibernate Proxy - (2008/07/30 19:07)