リレーショナルデータベースを扱う
from DMMF: Persistence
LT;DR
テーブルは直接 レコード型 にマッピングできるが、以下のようなミスマッチも発生する
RDB にはプリミティブな値しか保存できない: 変換してから保存する
選択型 に対応できない
選択型 は、以下のいずれかの方法でマッピングできる
1. すべてのケースを同じテーブルに格納: 基本こっち
2. 各ケースをそれぞれのテーブルに格納: 共通点が少ない場合のみこちら
ネストした型は、以下のいずれかの方法でマッピングできる
1. ネストした型が エンティティ: 別テーブルに保存
2. ネストした型が 値オブジェクト: 同じテーブルに保存
RDB とのやり取り時は、ドメインオブジェクト を DTO に相互変換する必要がある
RDB の結果を ドメインオブジェクト へマッピングする際に ORM は使わない
ドメイン の 整合性 が担保できないため
hr.icon
テーブルとオブジェクトをマッピングする
テーブルはレコード型に直接マッピングする
選択型をテーブルにマッピングする手法
ネストした型をテーブルにマッピングする手法
読み取り
RDB からの読み取り
RDB から選択型を読み取る
書き込み
RDB への書き込み