ORMが担う役割
一口に「ORM」と言っても、いくつかの役割がある
ORMを謳うlibraryによって、どれを含むかにグラデーションがある
クエリの生成、隠蔽、方言の吸収、最適化
複雑なSELECTを組み立てるクエリビルダ
クオリティが高ければ
型付きSQL、
元のSQLより簡潔
とかができるかもしれない
ここがショボいとめちゃくちゃストレスmrsekut.icon
SQLと同等のことができないなら最初からサポートしないでほしい、みたいになる
query結果をobjectなどのプログラミング言語のデータ構造へ詰め込む
これは便利mrsekut.icon
table構造と、object間のmapping, relationの定義を一度に行う
インピーダンス・ミスマッチの解消
ここが設計にかなり悪影響を与えると思うmrsekut.icon
対応するオブジェクトを通じたレコードの更新、トランザクションの一定の隠蔽
クエリ結果、更新データ含めたDB上データのキャッシュ
リレーションを処理する部分