You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Alfresco中alf_node_properties表actual_type_n、persisted_type_n允许值及映射问询

Alfresco alf_node_properties表字段说明:actual_type_n与persisted_type_n

一、actual_type_n 允许取值

该字段存储属性的实际逻辑数据类型,对应Alfresco核心定义的TypeCategory枚举,具体取值及对应类型:

  • 0: 字符串(String)
  • 1: 布尔值(Boolean)
  • 2: 整数(Integer)
  • 3: 长整数(Long)
  • 4: 浮点数(Float)
  • 5: 双精度浮点数(Double)
  • 6: 日期(Date)
  • 7: 二进制数据(Binary)
  • 8: 节点引用(NodeRef)
  • 9: 序列化对象(Serializable)
  • 10: 分类(Category)
  • 11: 内容数据(ContentData)
  • 12: 权限(Permission)

二、persisted_type_n 允许取值

该字段表示属性在数据库中实际存储的物理类型,对应JDBC存储类型,允许值:

  • 0: VARCHAR(用于存储文本类数据)
  • 1: BIGINT(用于存储数值或时间戳类数据)
  • 2: NUMERIC(用于存储高精度数值)
  • 3: BLOB(用于存储二进制或序列化对象)

三、二者映射细节

Alfresco的PropertyService会自动将逻辑类型(actual_type_n)转换为适合数据库存储的物理类型(persisted_type_n),核心映射规则:

  • 字符串(0)、布尔值(1)、节点引用(8)、分类(10)、权限(12)→ 映射为VARCHAR(0)
  • 长整数(3)、日期(6)→ 映射为BIGINT(1)(日期会转成毫秒时间戳存储)
  • 整数(2)、浮点数(4)、双精度(5)→ 映射为NUMERIC(2)
  • 二进制数据(7)、序列化对象(9)、内容数据(11)→ 映射为BLOB(3)

四、技术指引

  1. 禁止手动修改字段:这两个字段由Alfresco属性服务自动维护,手动修改会导致属性读取失败、数据损坏。
  2. 查看源码逻辑:类型映射的核心代码在org.alfresco.repo.domain.node.ibatis.NodePropertyDAOImpl类中,可通过getPersistedType、mapActualTypeToPersisted方法查看具体转换逻辑。
  3. 自定义类型扩展:如需新增自定义属性类型,需扩展TypeCategory枚举,并在属性服务中注册对应的存储类型映射,不要直接操作数据库字段。
  4. 异常排查:遇到属性读取异常时,可对比这两个字段的取值与映射规则,排查是否存在类型不匹配或数据损坏问题。

内容的提问来源于stack exchange,提问作者Sunny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 10:45:39