ORマッピングのパターン

J2EEデザインパターンisbn:4873111781より、オブジェクト−リレーショナルマッピングのパターンをメモ。

  • Table Inheritanceパターン
    • Concrete Table Inferitance方式:オブジェクトモデル内の具象クラスに対応するテーブルを定義する。表の数が少なく、コードがわかりやすくなり、性能も高い。しかし、オブジェクトモデルに現れていたデータの関係が見えなくなる。
    • Class Table Inheritance方式:抽象クラスも含めた、オブジェクトモデル内の継承階層にあるクラス一つ一つに対応するテーブルを作成する。オブジェクトモデルに表現されたデータの関係がそのままテーブルに表現される。
  • Tuple Tableパターン:項目の名前と値のセットをテーブルに格納する。テーブル構造を変えることなくオブジェクトの構造を変えることができる。一方、データの整合性が取りにくく、性能も悪化する。

注意:Table Inheritanceパターンにおいて、サブクラスで考えられる列をすべて含むようなテーブルを定義する方法も考えられるが、これはするべきではない。