高度なカスタマイズ > サービスおよびインフラストラクチャのカスタマイズ > ラージオブジェクト (LOB) の作成 > ラージオブジェクトのモデル化 > LOB の読み取りおよび書き込み
  
LOB の読み取りおよび書き込み
BLOB は、BLOB が含まれているオブジェクトの読み取り、作成、および更新のたびに、バイト配列またはシリアル化オブジェクトとして読み書きされます。BLOB が LobLocator によってモデル化されると、LOB ロケータだけが読み書きのたびに読み込まれます。LOB の読み込みまたは保存のための第 2 ステップが必要です。StandardPersistenceManager には、これらの操作を実行するための getLob() および updateLob() が用意されています。
データベースにシリアル化するオブジェクトのタイプに注意してください。デフォルト Java シリアル化を使用すると、変更が生じた際や、異なるコンパイラによって Java クラスファイルを再コンパイルする場合に中断される傾向があります。シリアル化された表現の互換性を維持できるようにするプログラミングは困難です。1 つの方法は以下のとおりです。
1. クラスを外部化可能にします。これによってパフォーマンスも向上します。
2. 固定 serialVersionUID 値を指定します。
3. 内部バージョン番号をオブジェクトストリームに配置し、コード内のバージョンの変更を処理します。
この方法の例については、コード生成外部化可能ビジネスクラスを参照してください。この方法の不都合な点は、すべてのサブクラスが外部化可能となり、readExternal と writeExternal メソッドが必要となることです。クラス階層からの独立が重要な場合は、「Serializable」によって同じタイプの方法を使用できます (serialVersionUID を確定し、read/writeObject を実装します)。