ExtObjectContainer#descend method allows you to navigate from a persistent object to it's members without activating or instantiating intermediate objects.
01private static void testDescend() { 02
storeSensorPanel(); 03
Configuration configuration = Db4o.newConfiguration(); 04
configuration.activationDepth(1); 05
ObjectContainer container = Db4o.openFile(configuration, DB4O_FILE_NAME); 06
try { 07
System.out 08
.println("Object container activation depth = 1"); 09
ObjectSet result = container.get(new SensorPanel(1)); 10
SensorPanel spParent = (SensorPanel) result.get(0); 11
SensorPanel spDescend = (SensorPanel) container.ext() 12
.descend( 13
(Object) spParent, 14
new String[] { "next", "next", "next", 15
"next", "next" }); 16
container.ext().activate(spDescend, 5); 17
System.out.println(spDescend); 18
} finally { 19
container.close(); 20
} 21
}
Navigating in this way can save you resources on activating only the objects you really need.