第三十九章 其他特殊主题 - 映射 IRIS ID 以供导出
当在顶层映射 IRIS 对象(而不是作为另一个对象的属性)时,其内部 ID、OID 和全局唯一 ID 不能用作对象属性,因此不会映射这些 ID。但是,在某些情况下,可能希望使用对象 ID 作为唯一标识符。然后,例如,可以在更新存储的对象之前将传入(已更改)的对象与相应的存储对象进行匹配。
IRIS XML 支持提供了多个帮助程序类,可用于将 IRIS 对象标识符投影到 XML 文档: %XML.Id 中(对于内部 ID)、%XML.Oid(对于 ``)和 %XML.GUID(用于全局唯一 ID)。
要使用这些类,请向支持 XML 的类添加一个特殊属性,该属性的用途是包含要导出的 ID。该属性的类型必须为 %XML.Id、%XML.Oid或 %XML.GUID。确保该属性已映射,并将其标记为瞬态,以便它不包含在该类的 SQL 映射中。
当导出到 XML 时,将支持 XML 的类的对象带入内存。当对象位于内存中时,添加的特殊属性将从 IRIS 内部存储中检索请求的 ID 并包含该值(以便您可以导出它)。
例如,考虑以下类:
Class MyApp4.Obj.Person4 Extends (%Persistent,%Populate,%XML.Adaptor)
{
Property IdForExport As %XML..png)
.png)
.png)
.png)
.png)
.png)
.png)








