Property Spec

表达对象属性的定义语义。运行态字段(如 id、status、physicalColumnState)不出现在定义协议中;datasetColumnName 作为 authoring 场景下物理列映射草稿保留在协议中。

资源类型与自然键

资源类型自然键说明
Property${objectName}.${apiName}对象名与属性 API 名称组成复合自然键,在对象范围内唯一

PropertySpecDTO

字段类型说明
apiNamestringAPI 名称,属性自然键的一部分
displayNamestring显示名称
dataTypePropertyDataTypeEnum数据类型
requiredboolean是否必填;写入 metaConfig.validation.required,并影响物化 DDL
uniqueboolean未使用。唯一性约束占位字段。
defaultValueObject未使用。默认值占位字段。
descriptionstring未使用。描述占位字段,当前写入服务不消费。
searchableboolean是否可搜索
sortableboolean是否可排序
groupableboolean是否可分组
titlePropertyboolean是否为标题属性
piiboolean是否包含个人身份信息
propertyKindPropertyKindEnum属性种类
stabilityLevelStabilityLevelEnum稳定级别
materializationStrategyMaterializationStrategyEnum物化策略
datasetColumnNamestring绑定的物理列名;为空时默认使用 apiName 的 snake_case
referenceReferenceSpecDTO引用规格
computeComputeSpecDTO计算规格
semanticSemanticSpecDTO语义规格
uiUiSpecDTOUI 规格
validationValidationSpecDTO验证规格
securitySecuritySpecDTO安全规格
capabilitiesCapabilitySpecDTO能力规格

PropertyDataTypeEnum

取值说明
STRING字符串
INTEGER整数(存储层映射为整数)
LONG长整数(存储层映射为整数)
NUMBER数字(存储层映射为浮点数)
DOUBLE浮点数(存储层映射为浮点数)
BOOLEAN布尔
DATE日期
DATETIME日期时间(存储层映射为时间戳)
TIMESTAMP时间戳(存储层映射为时间戳)
ENUM枚举,需配合 semantic.dictMapping 使用
REFERENCE引用,需配合 reference 使用
COMPUTED计算,需配合 compute 使用
JSONJSON,存储层按字符串落盘
ARRAY数组,存储层按字符串落盘
OBJECT对象,存储层按字符串落盘

PropertyKindEnum

取值说明
STORED存储属性,默认类型
DERIVED派生属性,由表达式计算得到
AGGREGATED聚合属性,沿关系路径聚合得到
DYNAMIC动态属性,运行时动态计算

ObjectTypePropertiesSpecDTO

用于独立声明 ObjectTypeProperties canonical 资源,支持按对象聚合的属性同步。

字段类型说明
objectRefResourceRefDTO所属对象引用;属性同步链路仅消费 name,kind / apiName 未使用
syncModePropertySyncMode同步模式,默认 MERGE
propertiesList<PropertySpecDTO>属性列表

PropertySyncReqDTO

字段类型说明
modePropertySyncMode同步模式:MERGE 合并,REPLACE 全量替换
propertiesList<PropertySpecDTO>属性规格列表

同步模式(PropertySyncMode)

取值说明
MERGE仅对传入属性做 upsert,不删除未出现的属性
REPLACE以请求中的属性集合作为目标状态,缺失属性执行逻辑删除(进入 REMOVED 态)

子结构

ReferenceSpecDTO

字段类型说明
objectRefResourceRefDTO引用目标对象;仅 name 被消费
referenceTypeReferenceTypeEnum引用类型:SINGLE 单值引用 / MULTI 多值引用
cascadeRuleCascadeRuleEnum级联规则:NONE / RESTRICT / CASCADE / SET_NULL

ComputeSpecDTO

字段类型说明
computeTypeComputeTypeEnum计算类型:DERIVED 表达式派生 / AGGREGATED 关系聚合 / DYNAMIC 运行时动态计算
expressionstring计算表达式,DERIVED 时使用
relationPathList<String>关系路径,AGGREGATED 时使用
aggregateAggregateTypeEnum聚合函数,AGGREGATED 时使用
filterFilterSpecDTO未使用。计算属性过滤条件占位字段。
materializationStrategyMaterializationStrategyEnum未使用。计算属性物化策略占位字段。

SemanticSpecDTO

字段类型说明
semanticTypestring语义类型
descriptionstring描述
dictMappingMap<String, String>字典映射;ENUM 属性的枚举值域唯一来源(键为枚举值,值为展示文案)

UiSpecDTO

字段类型说明
widgetTypestring控件类型
visibleByDefaultboolean默认是否可见
alignmentstring对齐方式
formatFormatSpecDTO格式配置

FormatSpecDTO

字段类型说明
patternstring格式模式
prefixstring前缀
suffixstring后缀
precisioninteger精度(小数位数)

ValidationSpecDTO

字段类型说明
requiredboolean未使用。请使用顶层 PropertySpecDTO.required,写入服务不会读取此字段。
mindouble最小值
maxdouble最大值
maxLengthinteger最大长度;同时影响物化 DDL
regexstring正则表达式
errorMessagestring错误提示信息

SecuritySpecDTO

字段类型说明
defaultMaskingRulestring默认脱敏规则
maskPatternstring脱敏模式
maskCharstring脱敏字符

CapabilitySpecDTO

字段类型说明
filterableboolean是否可过滤
editableboolean是否可编辑
exportableboolean是否可导出
performancePerformanceSpecDTO未使用。性能配置占位字段。

消费位置

  • foundry-ontology-biz: OntologyDefinitionWriteService.syncProperties / buildPropertyEntity / applyPropertyUpdate / buildPropertyMetaConfig 将字段投影到 fd_ontology_property。
  • foundry-ontology-biz: OntologyDomainProjectionAdapter 实现 PropertyProjectionHandler,并在 ObjectType 投影时以 REPLACE 模式同步内联属性。
  • foundry-definition-biz: DefinitionWriteService.syncProperties 协调 authoring 与 bundle 流程中的属性版本写入。
  • foundry-definition-biz: BundleDefinitionUpsertExecutor 解析 ObjectTypePropertiesSpecDTO.objectRef.name 后调用属性同步。
  • foundry-definition-biz: DefinitionCommandController 暴露属性同步入口。

删除属性

仅支持通过 PropertySyncReqDTO 或 ObjectTypePropertiesSpecDTO 的 REPLACE 模式删除属性:目标集合中未出现的现存属性会被标记为 REMOVED,而非物理删除。