開発●米JBoss
URL●http://www.hibernate.org/

「ソフトウエアを作る環境を楽しくするお役立ちフリーソフト」を集めて,1日1本のペースでご紹介しています。今回はO/Rマッピング・ツールの定番「Hibernate」です。

 「Hibernate」はJavaで広く使われているO/R(Object/Relational)マッピング・ツールです。O/Rマッピング・ツールは,Javaのオブジェクトとリレーショナル・データベース管理システム(RDBMS)のテーブルを関連付けるソフトウエアです。

 Javaでデータベースにアクセスする技術といえばJDBC(Java Database Connectivity)が有名です。JDBCを使ってデータベースにアクセスする場合,ソースコード中にSQL文を挿入したりSQL文を生成したりする必要がありました。しかし,Javaプログラマは必ずしもSQLを知り尽くしているわけではありません。このため,Javaプログラマが書く「パフォーマンスに問題のあるSQL」のためにシステムの性能が低下するという問題がよく起こります。

 このような問題は,O/Rマッピング・ツールを使えばある程度解決できます。O/Rマッピング・ツールはオブジェクトとRDBMSのテーブルを関連付けてくれるので,プログラムからSQL文を排除できます。

 各々のO/Rマッピング・ツールによって,オブジェクトとテーブルを関連付ける方法は異なります。Hibernateは,オブジェクトとデータの関連をXMLの設定ファイルにあらかじめ記述しておく方式を採用しています。ここに挙げたリストは,Hibernateの設定ファイルの例です。

 Hibernateは,バージョン3からJava EE 5に含まれている永続化技術「Java Persistence API(JPA)」に対応しました。JPAでは,Java SE 5から採用された「アノテーション」という記法を利用して,オブジェクトとテーブルの関連付けなどを定義します。アノテーションは,ソースコードの中に短い注釈を挿入する記法です。

 Hibernateは,JPAに対応したことにより,ますますその存在感を強めています。データベースを利用するアプリケーションをJavaで作るなら,使い方を覚えておいて損はないでしょう。

図
[画像のクリックで拡大表示]