プロダクト |
筆者視点の特徴 |
woolpack.sql 0.07 |
DBメタ情報の管理・クエリ生成・DB値バインド・DB値取得・トランザクション分離機構をテンプレート化しており、
これらをコンポジットとして組み立てます。
|
S2DAO 1.0.40 http://s2dao.seasar.org/ja/index.html |
スタティックフィールド、Tiger(Java5)アノテーションを使用してDBカラム-Beanプロパティの対応を定義することができます。
バインド変数コメント付きSQLで値のバインドや動的SQLを定義することができます。
Seasar2のバイトコード加工技術によるトランザクション制御機構を使用することができ、
XML定義ファイルを使用してトランザクション基点をAOPする位置を定義します。
|
iBatis 2.2.0 http://ibatis.apache.org/ |
DBカラム-Beanプロパティ対応表とSQLをXMLに記載します。
業務クラスからは文字列キーでDBアクセス用オブジェクトを取得します。
動的SQLをXMLをベースとするDSLで定義することができます。
独自のインタフェース(SqlMapTransactionManager)やクラス(DaoManager)を使用して
クライアントソースにbefore-afterパターンを定義してトランザクションを制御します。
設定ファイルとDAO、DTOクラスファイルをGUIを操作して生成することができます。
|
ObjectRelationalBridge(OJB) 1.0.4 http://db.apache.org/ojb/ |
XDocletアノテーションを使用してDBカラム-Beanプロパティの対応を定義することができます。
検索条件を組み立てるためにビルダーパターンを使用することができます。
PersistenceBroker API、ODMG API、JDO、OTM(Object Transaction Manager)の各永続化APIを使用することができ、
クライアントソースにbefore-afterパターンを定義してトランザクションを制御します。
|
Commons DBUtils 1.1 http://jakarta.apache.org/commons/dbutils/ |
ResultSetHandlerはWoolpackのFnと同等の役割を持ちます。 |
DdlUtils 1.0-RC1 http://db.apache.org/ddlutils/ |
DatabaseMetaData(DDL)-XML-オブジェクトを相互変換します。
woolpack.sql.metaでもDBメタ情報を扱う簡易の部品を用意していて
DdlUtils利用を検討しているのですが、依存ライブラリの数とexportedな参照制約に直接アクセスできないことからまだ検討中です。
|
dwarf 0.32 http://www.ne.jp/asahi/java/servlet/ |
マスタメンテナンス機能のサーブレットとクラスライブラリ。Woolpackでもサンプルアプリケーションでjava.sql.DatabaseMetaDataを利用した汎用CRUDウェブアプリケーションを試作しています。 |
Generic DAO (記事) |
Javaの汎用型機構とHibernateとSpring AOPを使用してDAOパターンをテンプレート化しています。
woolpack.sqlではメソッドをひとつに限定したGeneric DAOとみなすことができます。
http://www-06.ibm.com/jp/developerworks/java/060705/j_j-genericdao.shtml
|
Hibernate 3.2.2 http://www.hibernate.org/ |
XMLにテーブルとBeanクラスの対応関係を定義します。
特殊クエリ言語(HQL)を使用することができます。
独自のインタフェース(Session, Transaction)を使用してクライアントソースにbefore-afterパターンを定義してトランザクションを制御します。
|
Torque 3.3 http://db.apache.org/torque/ |
ソースコード自動生成技術を適用しています。
トランザクション制御は独自のクラスを使用するかjava.sql.Connectionをメソッドで渡すことにより行います
(http://634.ayumu-baby.com/torque/index.html)。
|
Cayenne 3.0 http://cayenne.apache.org/ |
設定ファイルとDAO、DTOクラスファイルをGUIを操作して生成することができます。
検索条件を組み立てるためにビルダーパターンを使用することができます。
独自のインタフェース(DataContext)を使用してクライアントソースにbefore-afterパターンを定義してトランザクションを制御します。
|
Spring 2.0.2 http://www.springframework.org/ |
Spring AOPによるバイトコード加工技術によるトランザクション制御機構を使用することができ、
XML定義ファイルを使用してトランザクション基点をAOPする位置を定義します。
|
LINQ http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx |
型推論やラムダ式、Extension Methodsなどの言語機構を活用したクエリ機構です。
Woolpackでは関数型言語との類似性を検証しているので、ラムダ式を活用しているLINQ機構のメリットを検証する必要があると思います。
|
Voruta 1.0.1 http://voruta.sourceforge.net/ |
クエリーをアノテーションで定義します。
|
O/R Broker http://orbroker.sourceforge.net/ |
DBカラム-Beanプロパティ対応表とSQLをXMLに記載します。
独自のクラス(Transaction)を使用してクライアントソースにbefore-afterパターンを定義してトランザクションを制御します。
|
PriDE http://pride.sourceforge.net/ |
調査中 |
Mr. Persister http://www.jenkov.dk/mrpersister/introduction.tmpl |
調査中 |
参考資料