assertEquals(expD.getD1(), actD.getD1());
assertEquals(expB.getB1(), actD.getB1().getB1());
assertEquals(expB.getB2(), actD.getB1().getB2());
DFull actDFull = (DFull) ocm.getObject( DFull.class, "/someD");
assertEquals(expD.getD1(), actDFull.getD1());
assertEquals(expB.getB1(), actDFull.getB1());
assertEquals(expB.getB2(), actDFull.getB2());
expB.setB1("updatedvalue1");
ocm.update( expD);
getSession().save();
actD = (D) ocm.getObject( "/someD");
assertEquals(expD.getD1(), actD.getD1());
assertEquals(expB.getB1(), actD.getB1().getB1());
assertEquals(expB.getB2(), actD.getB1().getB2());
actDFull = (DFull) ocm.getObject( DFull.class, "/someD");
assertEquals(expD.getD1(), actDFull.getD1());
assertEquals(expB.getB1(), actDFull.getB1());
assertEquals(expB.getB2(), actDFull.getB2());
expD.setB1(null);
ocm.update( expD);
getSession().save();
actD = (D) ocm.getObject( "/someD");
assertEquals(expD.getD1(), actD.getD1());
assertNull("b1 was not removed", actD.getB1());
actDFull = (DFull) ocm.getObject( DFull.class, "/someD");
assertEquals(expD.getD1(), actDFull.getD1());
assertNull("b1 was not removed", actDFull.getB1());
assertNull("b2 wan not remove", actDFull.getB2());
}