Descend

ExtObjectContainer#descend method allows you to navigate from a persistent object to it's members without activating or instantiating intermediate objects.

UtilityExample.java: testDescend
01public static void testDescend(){ 02 storeSensorPanel(); 03 ObjectContainer db = Db4o.openFile(Util.YAPFILENAME); 04 try { 05 db.ext().configure().activationDepth(1); 06 System.out.println("Object container activation depth = 1"); 07 ObjectSet result = db.get(new SensorPanel(1)); 08 SensorPanel spParent = (SensorPanel)result.get(0); 09 SensorPanel spDescend = (SensorPanel)db.ext().descend((Object)spParent, new String[]{"next","next","next","next","next"}); 10 db.ext().activate(spDescend, 5); 11 System.out.println(spDescend); 12 } finally { 13 db.close(); 14 } 15 }

Navigating in this way can save you resources on activating only the objects you really need.