Jaxor Overview
Jaxor - Model Driven Persistence
Baseクラス
Entityクラス
EntityRowクラス
Finderクラス
FinderBaseクラス
Iteratorクラス
Listクラス
MetaRowクラス
Queryクラス
ResultSetクラス
Jaxor Overview
JaxorはXMLに書かれたRDBのエンティティの定義を元に インターフェースや、ファインダーなどのJavaのコードを自動生成する、 O/Rマッピングツールです。 特定のコンテナなどに依存していないのでJavaアプリケーションなら なんでも利用できるようです。 ソースコードの生成にはVelocityのテンプレートを使用しています。 JaxorはPatterns of Enterprise Application Architecture [Fowler2003]で書かれている、 Active Record,Data Mapper, Dependent Mapping,Identity Field, Identity Map,Lazy Load,Metadata Mapping,Money,Unit of Work を実装しています。 生成されるコードは、1エンティティに対して以下の10クラス。Entityクラスを実装したクラス
Active Recordパターンを実装するエンティティのインターフェース
エンティティのプロパティとDBのマッピングを定義したクラス
スレッドローカルなJaxorのコンテキストで動作する、ファインダークラス
クエリーを実行したり、新しいインスタンスを作るクラス
Iteratorを実装するクラス
エンティティが格納されるListクラス
エンティティのメタ情報を扱うクラス
クエリを扱うクラス
ResultSetを扱うクラスが生成されます。 使用方法は、エンティティの定義を書いたXMLから、Antを使って自動生成します。 HibernateやTorqueのCriteriaのような、使い方から、 iBATISのようにSQLを直接書くことや、HQL風に書くこともできます。 エンティティの各プロパティに対応した、selectメソッドがあるのが面白いです。 さらに、SQLをXMLに定義して、Javaのメソッド化できるようです。 iBATISより使い勝手がいいかも。