新的起点 新的开始

快乐生活 !

翻译DB4O参考——Query(二)

Query By Example

当你使用QBE时,你要给Db4o提供一个模板对象,Db4o将返回所有匹配不是默认值的对象。通过反射机制把所有没有采用默认值的属性同过
AND表达式连接成为一个查询表达式,这儿是一个简单的例子:
PersistentExample.java: retrievePilotByName
public static void retrievePilotByName(ObjectContainer db) .{
        Pilot proto=new Pilot("Michael Schumacher",0);
        ObjectSet result=db.get(proto);
        listResult(result);
    }
同过这种方式有很多明显的限制:
1.db4o必须通过放射机制得到对象所有属性.
2.不能只想高级查询表达式.(比如AND OR NOT 等等)
3.不能对属性约束某些值,比如0,空字符,null,因为这些值被解释为没有约束.
4.你需要创建对象而不是已经初始化的,也就是说你不能初始化属性如果他们已经被声明.你不能强迫
一个类的对象仅仅允许一个定义很好的初始化的契约.
5.你需要一个构造器来创建对象而不是已初始的属性.
避免上述的限制,db4o提供了NQ查询系统.

posted on 2007-03-13 15:45 advincenting 阅读(330) 评论(0)  编辑  收藏 所属分类: 数据库相关


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


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问  
 

公告

Locations of visitors to this page

导航

<2007年3月>
25262728123
45678910
11121314151617
18192021222324
25262728293031
1234567

统计

常用链接

留言簿(13)

随笔分类(71)

随笔档案(179)

文章档案(13)

新闻分类

IT人的英语学习网站

JAVA站点

优秀个人博客链接

官网学习站点

生活工作站点

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜