第十一章 查询
【程序编程相关:about face 2.0——第二章(】你可以从persistencemanager中得到查询实例.查询可以筛选符合某些标准的一批候选对象.这个筛选过程可能在数据库中进行,或者在内存中执行.jdo没有明文规定查询机制.许多jdo实现品会根据情况混合使用内存执行方式与数据库执行方式. 【推荐阅读:Java新手入门需要掌握的30个基本概念】
11.1 必需的查询元素 【扩展信息:无意引起的“双桶”连接】
现在开始研究查询接口.你会发现自己对将讨论的东西迷惑不解.这是可预料的.我们会通过一些具体的例子来说明.每个查询都有三个必需元素:
1)候选类.查询的筛选是针对候选类或子类的实例进行的.候选类通过setclass 方法指定. 2)一批候选类.候选者可以是对象的集合形式或者扩展.这两种情况都可以调用setcandidate 指定候选者.如果给出了扩展,那么不必再个别地指定查询的候选类.查询会自动继承扩展的候选类.(??翻译得不好) 3)筛选条件.这是用jdo查询语言jdoql编写并通过setfilter 方法指定的字符串.如果不指定筛选条件,那么查询会返回候选类的所有对象.11.2 可选的查询元素
以下是jdo查询的可选元素 1)imports.导入通过declareimports 方法指定.根据标准的java导入语法,导入是单一的由";"划分的字符串.在声明参数与变量的时候,使用导入你就不必输入类的全名. 2)参数声明.参数是筛选字符串里的一个占位符.它允许你写一次查询,然后多次执行.每次都提供新值参数通过.declareparameters 方法指定,这个方法的参数语法与jva方法的参数声明语法一致. 3)变量声明.变量用来检测集合里的一些项是否匹配某些条件.通过declarevariables 方法来指定.语法与标准java变量声明语法一致. ... 下一页