ネストされたデータ・オブジェクトを別のデータ・オブジェクトにコピーするとソース・オブジェクトの参照が破棄される

データ・オブジェクト Father には、 別のデータ・オブジェクト Child が含まれます。 Java 断片またはクライアント・アプリケーションの内側では、Child を含むオブジェクトがフェッチされ、 データ・オブジェクト Mother の副構造で設定されます。データ・オブジェクト Father での Child への参照は消失します。

理由

Child への参照は、Father から Mother に移されます。

解決方法

上記のようなデータ形式変更を Java 断片またはクライアント・アプリケーション で実行し、Father に参照を保存する場合は、データ・オブジェクトを、別のオブジェクトに 割り当てられる前にコピーします。以下のコード断片はその方法を示しています。
BOCopy copyService = (BOCopy)ServiceManager.INSTANCE.locateService
                      ("com/ibm/websphere/bo/BOCopy"); 
DataObject Child = Father.get("Child"); 
DataObject BCopy = copyService.copy(Child); 
Mother.set("Child", BCopy);

(c) Copyright IBM Corporation 2005, 2006. All rights reserved.
(c) Copyright IBM Japan 2006
このインフォメーション・センターでは、Eclipse テクノロジー (http://www.eclipse.org) が採用されています。