关联 Shared Property
当多个 Object Type 中存在语义相同、需要统一管理的属性(例如各业务表中都存在的"创建人"、"金额单位"等),可以将该属性挂接到一个已存在的 Shared Property 上,而不是为每个 Object Type 单独定义一份属性元数据。

实现原理
在源码 DefaultOntologyProperty.java 中,reference2SharedProp 方法负责完成该关联:
@Override
public void reference2SharedProp(OntologySharedProperty sharedProp) {
SharedPropertyTypeRef sharedPropertyRef = new SharedPropertyTypeRef();
sharedPropertyRef.sharedPropRef = Objects.requireNonNull(sharedProp).name;
this.typeRef = sharedPropertyRef;
}
调用该方法后,属性的 typeRef 字段会被替换为 SharedPropertyTypeRef 类型,其内部保存了被引用的 Shared Property 的名称(sharedPropRef)。此后该属性的取值类型、约束等元数据均以所关联的 Shared Property 为准,实现"一处定义、多处引用"。
操作步骤
- 进入目标 Object Type 的属性列表,选中需要关联的属性。
- 在属性编辑界面选择"关联 Shared Property"操作。
- 从已创建的 Shared Property 列表中选择目标项进行绑定。
- 保存后,该属性的类型定义将与所选 Shared Property 保持一致。
适用场景
- 多个 Object Type 共用同一套取值类型定义(如统一的货币单位、状态码)
- 需要统一维护某类属性的取值范围、格式校验规则
- 希望在该 Shared Property 发生变更时,所有关联的 Object Type 属性能够同步生效