随笔-6  评论-7  文章-2  trackbacks-0
在之前的版本中,外键对象的获取是实时的,不经过缓存,所以像如下的代码会很损失性能
somePerson.getFriend().getName();
somePerson.getFriend().getAge();
somePerson.getFriend().getGender();
somePerson.getFriend().getFather().getName();
这5行代码如果运行一次的话会进行5次查询,如果反复循环运行会更多,但其中的前4次都是重复的。
如果使用0.7.5版产生的源码,这样的代码运行一次只会进行必要的两次查询,而且如果反复循环运行的话也只会运行这必要的两次查询。
关于对象共享,在之前的版本中,是没有任何对象共享的,用同样的主键进行findByPk查询所得到的对象是不同的,这在对程序中数据进行同步的实现上增加了复杂度。而使用0.7.5版所生成的源码,可以保证这样的对象是相同的(不是相等而是相同),而且从别的find方法查询到的相同主键的对象也能保证是唯一的(findFree,自定义find,自定义集合),新版中加入了一个WeakValueMap类对这些对象进行管理,利用弱引用技术在不干涉垃圾回收的情况下对数据库对象进行高效率的共享和缓存管理。下载地址在http://www.blogjava.net/Files/kobe2000/sdo0.7.5.rar
posted on 2005-12-22 14:17 WebWheel 阅读(420) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: