db4o如何实例化对象?

Łuk*_*nik 5 java reflection db4o

db4o用什么机制来实例化存储的对象?

我的类不是Serializable,并且不提供零参数构造函数,并且当它的参数为null时,唯一的构造函数抛出NullPointerException.

尽管如此,db4o仍然可以实例化该类的存储对象(尽管值不正确).

如果我能理解这个机制,也许我可以追踪我所拥有的错误.

我会感激任何链接:]

Gor*_*ran 1

Db4o 是开源的,因此您可以查看源代码。基本思想是使用类型处理程序来实现对象的序列化和反序列化。对于需要自定义类型处理程序的高级用户来说,有一个简单的示例提供程序。对象构造可以使用构造函数,如果不存在合适的构造函数,则可以绕过构造函数。可以通过使用指示 db4o 无论如何调用构造函数的配置设置来防止提到的构造函数错误。

您可能希望将这个问题发布到 db4o论坛上,以获得开发人员更详细的解释。

戈兰