美文网首页
第八章 将对象映射到 XML - 仅映射对象标识符

第八章 将对象映射到 XML - 仅映射对象标识符

作者: Cache技术分享 | 来源:发表于2023-11-17 08:31 被阅读0次

第八章 将对象映射到 XML - 仅映射对象标识符

仅映射对象标识符

可以仅映射对象的标识符,而不是以默认方式映射对象值属性。为此,请对 XMLDEFAULTREFERENCE 类参数或 XMLREFERENCE 属性参数使用以下值之一:

  • ID”选项仅映射对象的内部 ID(存储在磁盘上)。它不映射任何属性。例如,考虑以下类:
Class xmlidentifiers.Person Extends (%Persistent, %XML.Adaptor)
{

Property Name As %String;

Property PrimaryCarePhysician As Person (XMLREFERENCE = "ID");

}

下面显示了此类实例的 XML 表示形式的示例:

<Person>
  <Name>Sam Smith</Name>
  <PrimaryCarePhysician>24</PrimaryCarePhysician>
</Person>
  • OID”选项仅映射对象的 OID(如 package.class,ID)。它不映射任何属性。如果我们将此选项用于 PrimaryCarePhysician 属性,则前面的 Person 对象将按如下方式投影:
<Person>
  <Name>Sam Smith</Name>
  <PrimaryCarePhysician>xmlidentifiers.Person,24</PrimaryCarePhysician>
</Person>
  • GUID”选项仅映射对象的 GUID(Global唯一 ID)(如果可用)。除非 GUIDENABLED 类参数为 1,否则对象的 GUIDnull。假设我们按如下方式重新定义 Person 类:
Class xmlidentifiers.Person Extends (%Persistent, %XML.Adaptor)
{

Parameter GUIDENABLED=1;

Property Name as %String;

Property PrimaryCarePhysician As Person (XMLREFERENCE = "GUID");

}

在这种情况下,此类实例的 XML 表示形式可能如下:

<Person>
  <Name>Sam Smith</Name>
  <PrimaryCarePhysician>D0F383EB-DB31-4C11-AD56-AA14EB37B734</PrimaryCarePhysician>
</Person>

注意:对于属性参数 XMLREFERENCE,仅当值是持久对象时才可以使用“ID”、“OID”和“GUID”选项。否则会收到编译时错误。

同样,如果将类参数 XMLDEFAULTREFERENCE 设置为“ID”、“OID”或“GUID”,并且该类具有值为非持久对象的属性,则必须显式将属性参数 XMLREFERENCE 设置为“COMPLETE”或这些属性的“摘要”。

相关文章

  • NSURLCache

    概述 NSURLCache类通过将NSURLRequest对象映射到NSCached URLResponse对象来...

  • ORM

    ORM框架ORM全称对象关系映射(Object/Relation Mapping),指将Java对象状态自动映射到...

  • NSURLCache官方文档阅读

    NSURLCache Overview NSURLCache类通过将NSURLRequest对象映射到NSCach...

  • GreenDao框架简析

    GreenDao是一款开源的面向Android的轻便、快捷的ORM(对象映射)框架,将Java对象映射到SQLit...

  • AutoMapper库的使用

    概述   AutoMapper简单的说就是一个对象与对象之间的映射工具,通过它,我们可以将类型A映射到类型B(很多...

  • Java 基础 37 Map集合

    1.1创建Map集合对象并添加元素 Map: 将键映射到值的对象。 一个映射不能包含重复的键; 每个键最多只能映射...

  • 设计模式之:数据对象关系模式

    是将类的对象属性和数据存储映射起来,一个对象的操作会映射为对数据存储的操作,如new一个对象,对应的数据就会映射到...

  • Map集合

    Map集合 概述: ​ 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。 特点: 常...

  • 基于C++的通过内存映射实现进程间的数据交换

    VC++ 通过内存映射实现进程间的数据交换,创建内存映像对象,从内存映射对象读数据,将文件的视图映射到一个进程的地...

  • Map接口

    将键映射到值的对象。map 不能包含重复的键;每个键最多可以映射到一个值。这个接口取代了Dictionary 类,...

网友评论

      本文标题:第八章 将对象映射到 XML - 仅映射对象标识符

      本文链接:https://www.haomeiwen.com/subject/lmbywdtx.html