文档首页/ 工业数字模型驱动引擎/ 常见问题/ 数据建模引擎相关问题/ 内置模型的属性类型修改为参考对象后有什么影响?
更新时间:2025-08-15 GMT+08:00
分享

内置模型的属性类型修改为参考对象后有什么影响?

背景信息

为了提高系统的整体质量和兼容性,工业数字模型驱动引擎-数据建模引擎(xDM Foundation,简称xDM-F)对现有内置模型进行了以下优化:

  • 外键属性处理:将当前系统中的一些外键属性(如TenantId)由简单的数值型字段改为引用对象的形式,以增强代码的可读性和维护性,并减少数据一致性问题。
  • 修复历史错误:修正早期不当的编码习惯导致的部分属性未遵循最佳实践的问题,这些问题可能影响系统的稳定性和扩展性。

解决方案

2.25.060版本对内置模型的部分属进行标准化改造,将其由原有类型修改为“参考对象”“文本”类型,以提升使用灵活性与准确性。具体修改内容如下:

表1 涉及修改的内置模型及属性

(修改前)原属性英文名称

(修改后)新属性英文名称

参考对象/文本类型说明

内置模型英文名称

内置模型中文名称

表名称

SourceTenantId

sourceTenant

属性类型修改为参考对象类型,目标数据模型选择为Tenant

RelationLayOut

关系分组布局模型

XDM_RELATIONLAYOUT

SourceTenantId

sourceTenant

属性类型修改为参考对象类型,目标数据模型选择为Tenant

AttributeLayOut

属性布局模型

XDM_ATTRIBUTELAYOUT

String ViewModelId

ViewModel

属性类型修改为参考对象类型,目标数据模型选择为TypeDefinition

ViewModelConfig

视图模型配置的版本对象

XDM_ViewModelConfig

Long registryManifestId

registryManifest

属性类型修改为参考对象类型,目标数据模型选择为dataSyncRegistryManifest

DataSyncHistoryRecord

数据同步历史表

XDM_DataSyncHistory

Long instanceId

instance

属性类型修改为参考对象类型,目标数据模型选择为BasicObject

Long resourceId

resource

属性类型修改为参考对象类型,目标数据模型选择为typedefinition

DataSyncRegistryManifest

数据同步注册清单表

XDM_DataSyncRegistryManifest

Long registryId

registry

属性类型修改为参考对象类型,目标数据模型选择为dataSyncRegistry

Long tenantId

subscriptionTenant

属性类型修改为参考对象类型,目标数据模型选择为Tenant

DataSyncRegistry

数据同步注册表

XDM_DataSyncRegistry

Long ReferenceId

-

属性类型修改为文本类型

EXADefinition

扩展属性定义

XDM_EXADEFINITION

String searchServId

searchServ

属性类型修改为参考对象类型,目标数据模型选择为XDMSearchServDefine

XDMSearchRelationIndexEntity

搜索服务关系索引实体

XDM_XDMSearchRelationIndexEntity

Long CompareResultId

CompareResult

属性类型修改为参考对象类型,目标数据模型选择为XDMCompareResult

XDMComparePair

比对结果数据组

XDM_XDMComparePair

Long DataId

-

属性类型修改为文本类型

XDMLogicDeleteData

软删除数据

XDMLogicDeleteData

String searchServId

searchServ

属性类型修改为参考对象类型,目标数据模型选择为XDMSearchServDefine

XDMSearchIndexEntity

搜索服务索引实体

XDM_XDMSearchIndexEntity

String typeDefinitionId

typeDefinition

属性类型修改为参考对象类型,目标数据模型选择为typeDefinition

XDMPermissionAttribute

权限属性

XDM_XDMPermissionAttribute

Long EntityId

Entity

属性类型修改为参考对象类型,目标数据模型选择为BasicObject

XDMAspect

特征点

XDM_XDMSys_XDMAspect

Long controlledObjectId

controlledObject

属性类型修改为参考对象类型,目标数据模型选择为AccessControlled

XDMPermission

权限

XDM_XDMPermission

dataEntityId

dataEntity

属性类型修改为参考对象类型,目标数据模型选择为typeDefinition

String versionId

version

属性类型修改为参考对象类型,目标数据模型选择为TypeDefinition

SynchronizationTaskContent

同步内容

XDM_SynchronizationTaskContent

long controlledObjectId

controlledObject

属性类型修改为参考对象类型,目标数据模型选择为AccessControlled

XDMPolicy

策略

XDM_XDMPolicy

dataEntityId

dataEntity

属性类型修改为参考对象类型,目标数据模型选择为typeDefinition

Long targetId

target

属性类型修改为参考对象类型,目标数据模型选择为Principal

XDMPrincipalRelationOperationHistory

参与者关系操作历史

XDM_XDMPrincipalRelationOperationHistory

Long inheritId

inherit

属性类型修改为参考对象类型,目标数据模型选择为EXADefinitionLinkAndXDMRuleEngineLink

EXADefinitionLinkAndXDMRuleEngineLink

模型扩展属性与规则关系

XDM_EXADefinitionLinkAndXDMRuleEngineLink_REL

Long inheritId

inherit

属性类型修改为参考对象类型,目标数据模型选择为EXADefinitionLink

EXADefinitionLink

属性值与属性库关系表

XDM_EXADefinitionLink_REL

Long preVersionId

-

属性类型修改为文本类型

Versionable

版本服务

-

由于内置模型的调整,其所生成的原子接口也同步进行了修改(即:由代码生成的原子接口)。您可在应用运行态数据服务管理 > 全量数据服务中查看相关变更内容。

对于使用2.25.060版本之前的用户,由于属性类型的变更,数据库中存储字段的结构也发生了变化(1列变3列),因此您需要根据表1中的属性名称,定位到对应的参数字段,并将其修改为适配后的格式。

示例代码

在2.25.040版本期间,您的应用代码中使用了“RelationLayOut”内置模型的“SourceTenantId”属性。其入参格式如下:

{
    "params": {
        "SourceTenantId": 1L
    }
}

自2.25.060版本起,部分属性类型已调整为“参考对象”“文本”类型属性(如SourceTenant)。此变更将影响代码逻辑,需要重新部署应用以确保兼容性。重新部署应用后,请参考上述示例,手动修改原有代码以适配新的属性类型。

{
    "params": {
        "SourceTenantId": {
            "id":"1",
            "class":"Tenant"
        }
    }
}

对于已购买SDK服务的用户,如果在代码中使用了表1 涉及修改的内置模型及属性中的内置模型和属性,则可能需要进行相应的适配,以保证代码的兼容性。即:之前作为数值类型或文本类型的属性现在已经修改为参考对象类型属性。

例如,在2.25.040版本中,用户可能会将“SourceTenantId”直接赋值给一个自定义属性“userId”。例如:

Long userId = SourceTenantId

而在2.25.060版本及以后,由于“SourceTenantId”已被修改为“参考对象”类型属性“SourceTenant”,用户需要调整代码,以便正确地获取“SourceTenantId”。即:

Long userId = SourceTenant.getId()

这样可以确保代码在新版本中依然能够正常运行。

相关文档