文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Db4o中需要严格警惕类的继承问题

Db4o中需要严格警惕类的继承问题

时间:2010-09-21  来源:斯克迪亚

先来看一个简易类图:

如果你打算将这样的类存储在Db4o中的话,那么会很容易产生灵异现象,我今天就亲历了……

为产品对象添加一个附图后保存,下次重新开启数据库时读取到的产品的附图仍然是空的,而如果你在数据库中检索照片的话,你还是能找到你用作附图的照片对象的,但就是没法和产品对象关联起来,无论设定透明激活、层叠激活还是指定深度激活,都没有任何效果,简直太恼人了。

简单猜想来就是Db4o数据库中将类的继承搞的比较乱,导致引用断开,对象孤立。

然而,上图还只是一个示意的简图,我在实际项目中,产品的附图属性是一个照片对象的集合,还有一个封面图片属性,对应的是一个单独的照片对象,此外产品还有一个产品分类属性,对应的是产品分类的集合对象,产品分类又继承自分类,也继承自基类,使用时产品分类属性是完全没有问题的,其他两个则都如上文所述的情况一般无法获取,这又让人很难将问题完全归结于继承所致。

最后经过N多次尝试,将所有类简化为无继承的简单类型,问题就解决了,错误原理仍然不明,有待日后研究。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载