SorMap(Simple O/R Mapper For Java) Wiki

SorMap(Simple O/R Mapper For Java) のWikiページへようこそ。

「SorMap」は軽量なO/Rマッパーです。 Javaの有名なO/RマッパーであるiBatisとS2JDBCの機能の特筆すべき所を抜き出し、必要最小限の設定で

  • Javaオブジェクト(JavaBeans)←→リレーショナルデータベース

のマッピングが行えます。

SorMapの設計思想 「業務指向のO/Rマッパー ~SQLとの「契約」のマッピング~」

数あるO/Rマッパーは、基本的にはデータベースのテーブル/レコードに対応するEntityクラスを持ち、
DataAccessObject(DAO)と呼ばれるロジックを用いてリレーショナルデータベースに透過的にアクセスします。

SorMapにおいては、JavaBeansとテーブルのレコードが1対1に対応している必要はありません。

これは、SorMapが設計思想として
「結果セット指向であること」を目指しているからです。


つまり、データベースのレコードではなく、選択系SQLの結果セットをJavaBeans(Entity)に対応させる考え方です。

そのため、SorMapはO/RマッパーというよりはJava/SQLマッパーといった方が正確かもしれません。

データベースを扱う業務では、単一のテーブルの値をそのまま(それのみで)扱うことは稀で
一般的には複数のテーブルを連結して業務データを構築します。

このような業務要件に対応するため、O/RマッパーはEntityの自動連結(コンポジット)の機能を備えていたりしますが
SorMapはそのような機能は持っておりません。

SorMapの考え方は至ってシンプルで
「SQLの入力値/結果セットをJavaBeansに対応させる」
機能のみを持ちます。

また、S2DAOやiBatisのようにDAOをJavaのインタフェースで定義します。
(このとき、インタフェースの実装クラスを用意する必要はありません。あくまで、データベースとのやり取りの契約のみをSQLインタフェースという
形で規定します)

以上のことから、数あるO/Rマッパーがいわば「データベースサイドを起点としたマッピングツール」であるのに対し
SorMapは「業務サイドから見たO/Rマッピングツール」であるともいえます。

SorMapの利点は、データベースのレコードとJavaBeansを対応させるのではなく、各種業務要件を満たすための複雑なクエリを
「SQLインタフェース」の形でまとめ、値のやり取りを自動マッピングします。
(そのような設計思想のため、SorMapではクエリの自動生成機能を持ちません。)


バージョンごとの機能概要

No.バージョン概要へのリンク
1V0.3.0リンク
2V0.3.1リンク
3V0.4.0リンク

Welcome to our Project Wiki

SourceForge.JP provides Wiki system to each project. You are able to edit pages as you like, of course you can also edit this page. Not only participating uses in the project, but also all of the SourceForge.JP users are able to edit this Wiki by default. You need to set up the authorization for the project.

You can find grammar and other documents on Sidebar links or Wiki guide (Japanese only) in SourceFroge.JP project.

Últimas Arquivo Comunicados

CommonTools (V0.4.1b)2014-06-06 23:24
sormap (V0.4.0.0)2014-06-06 23:13

Recent Tickets

セーブポイント対応2013-09-28 09:26
 JDBCConnectionのセーブポイントの機能を扱えるように  機能を拡充 nkoseki
ロギング機能の追加2013-09-28 09:25
SorMap内部で発生したコンテキスト情報を、外部出力するための機能を実装する。 ロガーはCommonToolsのLoggerAdaptorを用い...nkoseki
包括的単体テストの実施2013-09-28 09:24
現在公開中のバージョンまでの、ガッチリとした単体テストを実施する。 また、単体テスト結果と単体テスト用リリースを公開するnkoseki