La copia di un oggetto di dati nidificato distrugge il riferimento nell'oggetto di origine

Un oggetto dati, Father, contiene un altro oggetto dati, Child. All'interno di un frammento Java o di un'applicazione cient, l'oggetto contenente Child viene recuperato e impostato su una struttura secondaria di oggetto dati.Mother. Il riferimento a Child nell'oggetto dati Father non viene visualizzato.

Motivo

Il riferimento a Child viene spostato da Father a Mother.

Risoluzione

Quando viene eseguita una tale trasformazione di dati in un frammento Java o in un'applicazione client, e si desidera mantenere il riferimento in Father, copiare l'oggetto dati prima che venga assegnato a un altro oggetto. Nel seguente frammento di codice viene illustrato come effettuare questa operazione:
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.
This information center is powered by Eclipse technology (http://www.eclipse.org)