DB連携アプリの開発にはフレームワークが必須
JavaではJavaプログラムからデータベースにアクセスするためにJDBCというAPIが用意されています。しかし、実際にデータベースと連携するアプリケーションを開発する場合はJDBCを直接使うのではなく、O/Rマッピングフレームワークを使用するのが一般的です。
O/RマッピングフレームワークにはSQLを隠蔽しJavaのAPIやデータベースの差異を吸収することを目的とした独自クエリを使用するHibernateや、逆にSQLを直接記述することでデータベースの機能・性能を最大限に引き出すことのできるMyBatisなど様々なものが存在します。また、最近はJavaEE標準のO/RマッピングフレームワークであるEJB3(JPA)が利用されるケースも多くなってきています。
連載の最終回となる今回はこれらのO/Rマッピングフレームワークを使用した開発をサポートするプラグインを紹介します。
Hibernate Tools
URL:http://www.hibernate.org/subprojects/tools.html
更新サイト:http://download.jboss.org/jbosstools/updates/stable/
ライセンス:LGPL
最新バージョン:3.4.0
Hibernate Toolsは定番のO/RマッピングツールHibernateの利用をサポートするEclipseプラグインです。Hibernateの開発チームで開発されており、オープンソースのアプリケーションサーバであるJBoss向けの開発ツールであるJBoss Toolsにも含まれており、以下のような機能を提供しています。
・Hibernateのマッピングファイルの作成、編集支援
・データベースからのリバースエンジニアリング
・クライテリア、HQL編集用のエディタ、実行結果の確認
大量のテーブルがある場合にエンティティクラスやマッピングファイルを手で記述するのは非常に手間のかかる作業ですが、Hibernate Toolsを使用することでこれらを自動生成することができます。
また、HibernateではSQLではなくJavaベースのクライテリア APIか、HQLという独自のクエリ言語を使用して検索を行うことが可能ですが、このクライテリアおよびHQLを編集するためのエディタが提供されており、クライテリアやHQLを実際に実行して検索結果を確認することができます。
Dali
URL:http://www.eclipse.org/webtools/dali/
更新サイト:http://download.eclipse.org/releases/indigo
ライセンス:Eclipse Public License v1.0
最新バージョン:3.0.2
DaliはJPAの利用をサポートするプラグインで、Eclipse FoundationにてWTP(Webアプリケーション開発用のプラグインセット)のサブプロジェクトとして開発されています。JPAはJavaEE標準のO/Rマッピングフレームワークであり、JavaEE対応のアプリケーションサーバであれば最初から利用できるほか、JavaSEでも使用できるため、手軽に導入することができます。Daliは以下のような機能を提供しています。
・JPAを使用するプロジェクトの作成
・テーブルからエンティティ、エンティティからテーブルの作成
・エンティティのマッピング設定
JPAではアノテーションを使用してエンティティとテーブルのマッピングを行いますが、この設定をビューから行うことができます。また、存在しないテーブルやカラムにマッピングしようとした場合などアノテーションの指定に間違いがあるとエラーとして報告してくれたり、ソースコードと同期したダイアグラムでマッピングの設定を行うこともできます。