オブジェクト指向のソフトウェアやリレーショナルデータベースの使用は、 今日のエンタープライズ環境では非常に繁雑で時間のかかる作業となります。 Hibernate は Java 環境用のオブジェクト/リレーショナルマッピングツールです。 オブジェクト/リレーショナルマッピング (ORM) とはデータ表現をオブジェクトモデルから SQL ベースのスキーマによるリレーショナルデータモデルにマッピングする技術のことを指します。
Hibernate は Java クラスからデータベーステーブルへのマッピング(及び Java データタイプから SQL データタイプへのマッピング)を行うだけでなくデータのクエリや検索機能も提供するため、 SQL や JDBC での手作業によるデータ処理を除き開発に要する時間を大幅に削減することが可能になります。
Hibernate の目標は、 開発者にとってのプログラミングにおける一般的なデータ永続性の作業の 95 % を軽減することです。 Hibernate データベース内でビジネスロジックを実現するストアドプロシージャのみを使用するデータ処理中心のアプリケーションに対しては最適ではないかもしれませんが、 Java ベースの中間層でのビジネスロジック及びオブジェクト指向のドメインモデルを使用する場合に最も役に立ちます。 Hibernate は開発者がベンダー固有の SQL コードの除去あるいはカプセル化を行う際に便利なため、 表形式の表現からオブジェクトのグラフへの結果セットの変換に関する一般的な作業に役立ちます。
Hibernate 及びオブジェクト/リレーショナルマッピング、 あるいは Java が不慣れな方は、 次の手順を行ってください。
ステップバイステップの解説が行われているチュートリアルとして 章 1. Hibernate の導入 をお読みください。 チュートリアルのソースコードはそのディストリビューションの doc/reference/tutorial/ ディレクトリ配下にあります。
Hibernate が使用できる環境について理解するため、 章 2. アーキテクチャ をお読みください。
Hibernate ディストリビューション内の eg/ ディレクトリ内を見てください。 シンプルなスタンドアローンのアプリケーションが含まれています。 ご使用の JDBC ドライバを lib/ ディレクトリにコピーしてから使用するデータベースに対して正しい値を指定するよう etc/hibernate.properties を編集します。 ディストリビューションディレクトリ内のコマンドプロンプトから、 ant eg (Ant を使用)と入力するか、 Windows 環境の場合は build eg と入力します。
おもな情報源として本リファレンスドキュメントをご利用ください。 アプリケーションのデザインに関する詳細、 ステップバイステップによる解説が必要な場合は、 Hibernate in Action (http://www.manning.com/bauer) をお読みになってもいいでしょう。 また、 http://caveatemptor.hibernate.org から Hibernate in Action のサンプルアプリケーションをダウンロードすることもできます。
よくある質問とその答え (FAQ) は Hibernate ウェブサイトでご覧ください。
サードパーティのデモ、 サンプル、 チュートリアルなどは Hibernate のウェブサイト上にリンクされています。
Hibernate ウェブサイト上の Community Area はデザインのパターンやさまざまな統合ソリューション (Tomcat、 JBoss AS、 Struts、 EJB など)を検索する上で興味深いリソースになります。
質問がある場合は、 Hibernate ウェブサイト上にリンクされたユーザーフォーラムをご利用ください。 また、 バグ報告及び今後のリクエストに関しては JIRA (問題追跡システム) を提供しています。 Hibernate, の開発に興味がある方は、 開発者用メーリングリストにご参加ください。 本ドキュメントの翻訳に興味がある方は、 開発者用メーリングリストよりご連絡ください。
Hibernate に関する商業用開発サポート、 実稼働サポート、 トレーニングについては JBoss Inc よりご利用頂けます (http://www.hibernate.org/SupportTraining/ を参照)。 Hibernate はプロフェッショナルなオープンソースプロジェクトであり、 JBoss Enterprise Middleware System (JEMS) スィート製品の重要なコンポーネントになります。