100%PureJavaで書かれたシンプルで軽量なO/Rマッパーです。
iBatisライクなインタフェースベース/XMLベースのAPIを用いてリレーショナルデータベースへのCRUD処理やDDL
などを発行することができます。
また、発行する具体的なSQLはXMLファイルに記述します。
SQLの書式はS2JDBCの2WaySQLの機能を参考に作成しており、そのままでも通るクエリをXML内に記述することで
クエリの妥当性の検証を容易にしています。
SorMapはJavaインタフェースに特別なアノテーションを付加し、XMLファイルを作成するだけで動作するように設計されております
インタフェース構造を自動的に解析しXMLファイルと橋渡しをするため、ユーザはインタフェースを実装する必要がありません。
のがSorMapの売りです。
SorMapはHibernateやS2DAOのように、APIベースでクエリを組み立てることはしません。
SorMapはあくまでJavaインタフェースとXMLファイルのブリッジとして動作するように設計されているため、XMLファイルに「生のSQL文」を記述します。
これは、ライブラリの汎用性を意図しているためで、経験上マスタメンテナンス系のCRUDに関してはHibernateやS2DAOのようなAPIベースのクエリ組立が非常に有効ですが
分析系クエリなどを実行する場合はやはりSQLを生で記述した方が見通しが良くなります。
(HibernateやS2DAO/S2JDABについても、生のクエリを直接発行することはできます。)
そのため、SorMapではJavaインタフェースとXMLファイルのブリッジ、クエリパラメータのオートバインドに特化した機能を盛り込んでおります。
詳しくはこちらをご覧ください
※SorMapはRepServの派生プロジェクトです。