PR

それぞれのメリット/デメリット

2006年9月4日(月)
山之内 弘行

はじめに


   皆さん、こんにちは。本連載を担当するビーブレイクシステムズの山之内です。

   前回まで「iBATIS」「Torque」「Hibernate」という3つのO/Rマッピングツールを見てきました。実際に各フレームワークを利用してサンプルを作成することで、各フレームワークの特長をつかめたかと思います。

   最終回となる今回は、まとめとして各フレームワークの特長やクセに注目し、メリット/デメリットをあげながら各フレームワークを比較していきます。また、軽くではありますがEJB 3.0も取り上げ、その特長を説明したいと思います。


各フレームワークの特長


   iBATIS、Torque、Hibernateの3つのO/Rマッピングツールの特長を表1にまとめました。

iBATIS
「SQL Maps」というO/Rマッピング機能と、「DAO Framework」というDAOパターン用のフレームワークで構成されている。マッピング・ファイルにSQL文を記述する必要がある。
Torque
Active Recordパターン(エンティティが「O/Rマッパー」の基底クラスを継承する)に基づいているタイプのフレームワークで、SQL文を記述せずにデータベースにアクセスすることができる。バージョン3.1からGenerator(開発環境)とRuntime(実行環境)がモジュール分割されている。
Hibernate
機能が豊富にあり、オブジェクトクエリ言語の「HQL」や、シンプルで扱いやすいAPIを提供する。

表1:iBATIS、Torque、Hibernateの特長

   iBATISの最大の特長は、マッピング・ファイルにSQL文を記述することです。「第2回:SQLを直接記述できるiBATIS(前編)」「第3回:SQLを記述しない『Torque』」では、基本的なSQL文は自動生成されたマッピング・ファイルのSQL文をそのまま使用しましたが、内部結合を行うSQL文はマッピング・ファイルに直接記述しました。

   Torqueの最大の特長は、SQL文を使用せずにデータベースにアクセスできる点です。

   「第4回:SQLを記述しない『Torque』」では、Torqueで用意されている各メソッドやCriteriaクラスを使用してSQLを一切記述することなくデータベースにアクセスしました。

   Torqueで用意されているAPIを使用することで、TorqueがSQL文を自動的に組み立ててくれるのでSQLレスの開発が可能となります。

   一方、Hibernateの最大の特長は多機能であることです。「第5回:多機能なHibernate(前編)」「第6回:多機能なHibernate(後編)」ではiBATISやTorqueにない機能の1つとしてオブジェクトクエリ言語の「HQL」を紹介しました。「HQL」はオブジェクトをベースに考えられているので、オブジェクトをベースとした検索が可能となります。またHibernateでは、Criteriaクラスを使ったデータベースアクセスも可能です。


株式会社ビーブレイクシステムズ Javaスペシャリスト
前職ではJavaを用いたシステム開発をメインに作業を行う。更なるキャリアアップを目指し、実力次第で上流工程に携われるビーブレイクシステムズに転職。現在はJavaアーキテクトとして活躍中。

連載バックナンバー

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています

それぞれのメリット/デメリット | Think IT(シンクイット)

Think IT(シンクイット)

サイトに予期せぬエラーが起こりました。しばらくたってから再度お試しください。