.NET: Db4oFactory.Configure().CallConstructors(true)
will configure db4o to use constructors to instantiate objects.
On VMs where this is supported (Sun Java VM > 1.4, .NET, Mono) db4o tries to create instances of objects without calling a constructor. On Java VMs db4o is using reflection for this feature so this may be considerably slower than using a constructor. For the best performance on Java it is recommended to add a public zero-parameter constructor to every persistent class and to turn constructors on. Benchmarks on .NET have shown that the default setting ( #callConstructors(false) ) is faster.
Constructors can also be turned on for individual classes only with
.NET: Db4oFactory.Configure().ObjectClass(typeof(Foo)).CallConstructor(true)
There are some classes (e.g. java.util.Calendar) that require a constructor to be called to work. Further details can be found in the Constructors chapter