S2Daoの特長
・XMLファイルを使わない
Hibernate などのO/Rマッピングツールでは、オブジェクトのプロパティとRDBテーブルの各カラムのデータとを対応付ける(マッピングする)ために、XMLファイルによる設定を記述しなければなりません。しかしS2Daoでは、こうしたマッピングの設定をstatic final型のクラス変数を用いて行います。このような設定のための変数をS2Daoでは
アノテーションと呼んでいます。アノテーションといっても、メタデータを記述するという点では同じですが、J2SE5のそれとはまったく内容が異なりますので間違えないようにしてください。具体的にどのようなものなのかは後述します。
S2Dao はO/Rマッピングツールです。このジャンルのツールでは、オブジェクトのやり取りだけでDBアクセスができるというのが大きな特徴です。それは S2Daoも同じです。ですからデータベースを接続・切断するためのソースコードを記述する必要がありません。また、S2本体が持つトランザクション機能と組み合わせることもできます。この機能もAOP機能を利用しているわけですから、diconファイルに設定を記述するだけでO/Rマッピング機能をアプリケーションにプラスすることができるわけです。
・SQLとJavaのソースコードを分離する
S2Dao の機能として、決められた形式に従った名称を持つファイルにSQLソースコードを記述しておくと、その内容(SQL)をデータベースに対して実行してくれるという機能があります。これにより、SQLソースコードを記述するDB技術者とJavaソースコードを記述するJava技術者の作業を分離することができます。
・SQL文の自動生成
ある命名規則に従ってJavaメソッドを作成すると、それを基にしてS2DaoがSQL文を自動的に生成してくれます。実行したいSQL文がシンプルなもので、上記のように別ファイルでSQL文を書くまでもないというような場合は、その作業すら省略することができます。
・インターフェイスだけで処理を実行
上記のようなSQLのJavaソースコードからの分離やSQL文の自動生成機能のおかげで、diconファイルにインターフェイスの設定を記述するだけで必要な処理が実行できるようになります。もちろんより複雑な処理を行う場合には、diconファイルにそれを実装したクラスについての設定を記述することもできます。
・EntityManagerによる検索処理の実行
EntityManager というのは、EJB 3.0のそれとは異なり、S2Daoで利用できるオブジェクトのことをいい、検索処理の記述を簡単にするメソッドを多数用意しています。検索処理が多いアプリケーションを開発する場合は、こうした機能を活用すれば開発効率の向上が期待できるでしょう。
・バージョン番号やTimestampによる排他制御
バージョン番号を持つint型のプロパティやjava.sql.Timestamp型のプロパティをエンティティクラス(後述)に作成しておくと、データの更新時に、更新しようとするデータ(エンティティ)のバージョン番号やTimestampの値と、データベースに保存されているデータのバージョン番号やTimestampの値とが同じものでないと更新することができないようにすることができます。
・S2DaoTestCase
最終更新:2007年01月26日 18:11