scala/ORM

ORM

ここではScala専用のORマッパをさぐってみる。

ORマッパに求めるもの

最後の点は特に重要。一般にライブラリやフレームワークの作者は「自分の使い方の範囲」で便利なように作成してしまうが、これはもちろん間違い。自由に拡張可能でなければならない。これはScalaのScalabilityと同様の意味である。Scalaはそもそも、それを目指しているのであって、そのパワーを削ぐようなライブラリやフレームワークは意味がない。

具体的に言えば、以下のような拡張ができなければならない。

以上のような拡張性の有無が、これからのORマッパの有用性を決めるのであって、これらに比較すれば「CriteriaでタイプセーフなSQLを作成」などの宣伝文句はどうでもよい。タイプセーフのために、書きやすさ・わかりやすさが犠牲になるのであれば、タイプセーフの方を捨てる方がよい(念のために書けば、これはSQL文字列が極めて小さな範囲しか占めず、データベースのリファクタリングの必要は比較的少ないことに起因する。タイプセーフな言語とそうでない言語を比較しての主張ではない。何ごとも「規模」が肝心)。

ORM一覧

Wanted: Good examples of Scala database persistence

last edited 2011-10-19 00:28:23 by ysugimura