精美网页源码网站,网站管理助手3.0,建设工程招标投标网,嵌入式培训班多少钱文章目录 第四十一章 持久对象和SQL - StorageStorage存储定义概览持久类使用的Globals注意 第四十一章 持久对象和SQL - Storage
Storage
每个持久类定义都包含描述类属性如何映射到实际存储它们的Global的信息。类编译器为类生成此信息#xff0c;并在修改和重新编译时更新… 文章目录 第四十一章 持久对象和SQL - StorageStorage存储定义概览持久类使用的Globals注意 第四十一章 持久对象和SQL - Storage
Storage
每个持久类定义都包含描述类属性如何映射到实际存储它们的Global的信息。类编译器为类生成此信息并在修改和重新编译时更新它。
存储定义概览
查看此信息可能很有用在极少数情况下可能需要更改一些详细信息非常仔细。对于持久类集成开发环境 (IDE) 将显示类似以下内容作为类定义的一部分
Storage nameDefault
Data namePersonDefaultDataValue name1
Value%%CLASSNAME/Value
/Value
Value name2
ValueName/Value
/Value
Value name3
ValueSSN/Value
/Value
Value name4
ValueDOB/Value
/Value
...
/Storage持久类使用的Globals
存储定义包括几个指定存储数据的Globals的元素
DataLocation^Sample.PersonD/DataLocation
IdLocation^Sample.PersonD/IdLocation
IndexLocation^Sample.PersonI/IndexLocation
...
StreamLocation^Sample.PersonS/StreamLocation默认情况下使用默认存储
类数据存储在该类的Globals数据中。它的名称以完整的类名包括包名开头。名称后附加 D。例如Sample.PersonD索引数据存储在该类的Globals索引中。其名称以类名开头并以 I 结尾。例如Sample.PersonI任何保存的流属性都存储在该类的流Globals中。它的名称以类名开头并以 S 结尾。例如Sample.PersonS
重要提示如果完整的类名很长系统会自动使用类名的哈希形式。因此当查看存储定义时有时可能会看到Gloabl名称例如 ^package1.pC347.VeryLongCla4F4AD。如果出于任何原因打算直接使用类的数据Globals请务必检查存储定义以便了解Gloabl的实际名称。
注意
请注意以下几点
切勿重新定义或删除已存储数据的类的存储。如果这样做则必须手动重新创建存储因为下次编译类时创建的新默认存储可能与该类所需的存储不匹配。在开发过程中可能想要重置类的存储定义。如果还删除了数据并稍后重新加载或重新生成数据则可以执行此操作。默认情况下当在开发过程中添加和删除属性时系统会通过称为模式演化的过程自动更新存储定义。
例外情况是对 Type 元素使用非默认存储类。默认为%Storage.Persistent如果不使用此存储类别IRIS 不会更新存储定义。