データベース処理は手間である
前回で説明したように、データベースのテーブルとJavaオブジェクトはもともとデータ構造が違うため、それらを連携する際は「データ変換」という作業が必要になります。
単純にJDBCを利用する場合、照会系の処理では、ResultSetをJavaオブジェクトに詰め替える作業が必要になり、更新系の処理では、 Javaオブジェクトのデータを元にSQL文を組み立てて発行するという処理が必要になります。この処理は単調な作業で、ミスしやすい部分です。
データベースとJavaオブジェクトのデータ変換を自動的に行うツールはO/Rマッパーと呼ばれます。O/Rマッパーの代表格としては、オープンソースのHibernateや、EJBのエンティティビーン、J2EE標準のJDOなどがありますが、これらは使いこなすまでが少々手間です。ここでは、比較的簡単に利用できるツールとしてS2Daoを紹介します。
S2Daoって?
S2Daoは、Seasarプロジェクトのサブプロジェクトとして開発されているデータベースアクセスツールです。S2Dao=O/Rマッパーではありませんが、S2DaoはO/Rマッピングの機能を提供しています。
なお、Seasarプロジェクト(http://www.seasar.org/) は、J2EEの簡単・便利な利用を目指す、国産のオープンソースプロジェクトです。中核にあるのは、Seasar2というDI(Dependency Injection:依存性注入)コンテナでAOP(Aspect Oriented Programming:アスペクト指向プログラミング)の機能を提供しています。S2Daoは、Seasar2の機能を利用したデータベースアクセス ツールです。

図1:SeasarプロジェクトのWebサイト