シリアライズ LOB パターン

データベースに関連が複雑なオブジェクトを保存するときに使用するパターン。参照: P of EAA: Serialized LOB

たとえば、あるオブジェクトが個数が可変のオブジェクトを保持する場合、普通にデータベースのテーブルに保存しようとすると、

  • データベースに、それぞれのオブジェクトのクラスごとのテーブルを作成し、
  • キーを用いてオブジェクト間の参照を保持し、
  • プログラムで、オブジェクトの追加・更新・削除を追跡し、
  • それをデータベースに反映させる。

という処理が必要になる。

シリアライズ LOB パターンを使うと、

だけになる。

利点と欠点は、以下の通り。

  • 利点
    • 実装が容易。オブジェクト間の関連をシリアライズで保存できるため。
    • 変更が容易。テーブルのカラム変更ではなく、シリアライズの形式変更で済むため。
  • 欠点