Hibernate

強力かつハイパフォーマンスなオブジェクト永続化・クエリサービスのデファクトソリューション

エンタープライズ環境において、オブジェクト指向ソフトウェアとリレーショナルデータベースを組み合わせるのはやっかいで手間がかかる作業です。そのうえ、オブジェクトとリレーショナルデータベースでは、データの表現方法についてパラダイムが異なるため、開発コストは大幅に増大します。多くのソフトウェア開発者や設計者は、こうしたインフラストラクチャ上の懸念に対処する必要のあるコードが最大で30%に及ぶと評価しています。

Hibernateは、Javaアプリケーション用のオブジェクト/リレーショナルマッピング(ORM)ソリューションです。このソリューションは、オブジェクトモデルのデータ表現をリレーショナルデータモデル、およびデータベーススキーマにマッピングする機能を提供することによって、この問題を解決します。

Hibernateは現在、市場で最も強力で柔軟性の高いORMソリューションです。Hibernateは、Javaクラスからデータベーステーブルへのマッピング、およびJavaデータ型からSQLデータ型へのマッピングを処理するだけでなく、開発期間を大幅に短縮するデータのクエリーおよび取得機能も提供します。

Hibernateの設計目標は、SQLとJDBCを使用したデータ処理を手作業で作成する必要をなくすことによって、開発者をデータパーシステンス関連の一般的なプログラミング作業の95%から解放することです。

特徴と主な利点

  • オープンソース製品ライセンス

    Hibernateは、オープンソースのGNU Lesser General Public License(LGPL)でライセンス供与され、自由にダウンロードでき、また開発と運用のいずれの場合でも自由に使用できます。 また、このライセンスでは、ISVが自由にHibernateを組み込んで配布できます。
  • 開発者の生産性の向上

    Hibernateは、繰り返しの多い退屈なコーディング作業を解消し、開発者がビジネス問題により多く集中できるようにします。 トップダウンで新しいビジネス問題およびモデルから始めるか、ボトムアップで既存のデータベーススキーマから始めるか、いずれのアプリケーション開発戦略を選んでも、Hibernateは開発期間を大幅に短縮できます。
  • メンテナンスコストの削減

    Hibernateは、ORMを自動化することによってコード行数を大幅に削減します。Hibernateは、2つのデータ表現間のバッファを提供し、Java側でオブジェクト指向をより簡潔に使用できるようにします。しかも、リレーショナルスキーマの正規化は維持され、データの完全性も保証されます。
  • パフォーマンスを常に最適化

    Hibernateでパーシステンスを集中的に処理できるようにすれば、手作業でコーディングしたパーシステンスと異なり、最適化を常に適用できます。たとえば、Hibernateを使用してパーシステンスを処理することによって、JBoss Cacheを使用し、アプリケーションが手書きの孤立したパフォーマンス強化策ではなく、幅広いキャッシュ機能を活用できるような、モジュール型の2階層キャッシング・システムを構成できます。
  • 標準規格ベース

    Hibernateは通常、Enterprise Java Bean(EJB)のSession Beansを利用した、Java Swingアプリケーション、Javaサーブレットベースのアプリケーション、またはJ2EEアプリケーションで使用されます。Hibernate 3.0は、劇的に簡素化されたパーシステンスモデルをEJB規格に提供するEJB 3.0 Java Persistence APIにおいて、非常に重要な役割を果たします。また、Hibernate 3をHibernate Annotationsと組み合わせることにより、開発者はEJB 3.0コンテナの外側で、スタンドアロンのJavaアプリケーション内でEJB 3.0スタイルのプログラミングを実現できます。
  • 企業クラスの信頼性とスケーラビリティ

    Hibernateは、優れた安定性と品質でよく知られています。 それは何万人ものJava開発者がHibernateを採用し、使用していることからも明らかです。 Hibernateは、アプリケーションサーバクラスタ内で動作し、スケーラビリティの高いアーキテクチャを提供するために、一から設計されました。Hibernateは、数百人のユーザにサービスを提供する社内イントラネットを運用するために使用するか、何万人ものユーザにサービスを提供するミッションクリティカルなアプリケーションに使用するかにかかわらず、あらゆる規模の環境に対応できます。