第五章 jdo元数据
【程序编程相关:TAdoQuery导出数据到Excel】jdo要求每个持久类都必须有元数据.元数据有三个基本作用: 【推荐阅读:DropDownList 控件 Data】
【扩展信息:利用树型结构进行排序】1)标识持久类2)重载默认jdo行为 3)告诉jdo持久类的内省信息元数据是一个xml文档,下节会讨论它的dtd.无须强求自己立即明白dtd,下节我们会全面介绍它.
jdo元素是元数据文档的根元素.它只有一个子元素.package.每个package元素都必须用包的全称来指定名字属性
package元素包含一个或多个class元素.子元素后面可以有0个或者多个扩展元素.扩展元素的作用是用厂商指定的信息来解释元数据.扩展元素还可以包含扩展子元素.它有三个属性:
厂商名称:扩展元素应用于哪个厂商.必须提供. 关键字:你所设置的扩展属性的名称.每个厂商都会提供所支持属性的列表. 值:属性的值 每个在package元素里的持久类都必须有class元素,在详细解释它之前,先简单了解jdo如何解析类的名字 一些元数据属性要求你指定类名.类名必须遵守以下准则: 1)如果类所在的包就是当前包元素,那么只需给出类名.不用指定包名.例如,如果当前包名是org.mag,类名是org.mag.magazine,那么类名只写magazine 2)否则,必须给出包括包的类名. 3)如果类是内嵌类,必须写成父类$内嵌类的形式.如 subscriptionform$lineitem现在继续介绍class元素.这个元素有以下属性:
name:类名,必需属性 persistence-capable-superclass:如果父类也是持久化的,而你希望jdo能知道这个继承层次,那么你必须在这个属性里指定父类.如果父类是非持久化的,你不应该使用这个属性 identity-type:给出类所使用的jdo标识.application表示使用应用程序标识, datastore 表示使用数据存储标识,none表示没有使用.如果指定了objectid-class属性,那么默认值为application.否则为datastore objectid-class:为应用程序标识而使用.属性值为jdo标识类的值.注意只需给出基类的值 requires-extent:如果你不查询这个类的持久化实例,那么属性值为false.(例如,这个类的所有对象都可以通过jdo标识查找而得或通过其他对象的关系得到)默认为true ... 下一页