zoukankan      html  css  js  c++  java
  • Activiti数据库表结构(表详细版)

    http://blog.csdn.net/hj7jay/article/details/51302829

    1  Activiti数据库表结构

    1.1      数据库表名说明

        Activiti工作流总共包含23张数据表,所有的表名默认以“ACT_”开头。

    并且表名的第二部分用两个字母表明表的用例,而这个用例也基本上跟Service API匹配。

    u  ACT_GE_* : “GE”代表“General”(通用),用在各种情况下;

    u  ACT_HI_* : “HI”代表“History”(历史),这些表中保存的都是历史数据,比如执行过的流程实例、变量、任务,等等。Activit默认提供了4种历史级别:

    Ø  none: 不保存任何历史记录,可以提高系统性能;

    Ø  activity:保存所有的流程实例、任务、活动信息;

    Ø  audit:也是Activiti的默认级别,保存所有的流程实例、任务、活动、表单属性;

    Ø  full:最完整的历史记录,除了包含audit级别的信息之外还能保存详细,例如:流程变量。

    对于几种级别根据对功能的要求选择,如果需要日后跟踪详细可以开启full

    u  ACT_ID_* : “ID”代表“Identity”(身份),这些表中保存的都是身份信息,如用户和组以及两者之间的关系。如果Activiti被集成在某一系统当中的话,这些表可以不用,可以直接使用现有系统中的用户或组信息;

    u  ACT_RE_* : “RE”代表“Repository”(仓库),这些表中保存一些‘静态’信息,如流程定义和流程资源(如图片、规则等);

    u  ACT_RU_* : “RU”代表“Runtime”(运行时),这些表中保存一些流程实例、用户任务、变量等的运行时数据。Activiti只保存流程实例在执行过程中的运行时数据,并且当流程结束后会立即移除这些数据,这是为了保证运行时表尽量的小并运行的足够快;

    1.2      数据库表结构

    1.2.1   Activiti数据表清单:

    表分类

    表名

    解释

    一般数据

    ACT_GE_BYTEARRAY

    通用的流程定义和流程资源

    ACT_GE_PROPERTY

    系统相关属性

    流程历史记录

     

    ACT_HI_ACTINST

    历史的流程实例

    ACT_HI_ATTACHMENT

    历史的流程附件

    ACT_HI_COMMENT

    历史的说明性信息

    ACT_HI_DETAIL

    历史的流程运行中的细节信息

    ACT_HI_IDENTITYLINK

    历史的流程运行过程中用户关系

    ACT_HI_PROCINST

    历史的流程实例

    ACT_HI_TASKINST

    历史的任务实例

    ACT_HI_VARINST

    历史的流程运行中的变量信息

    用户用户组表

    ACT_ID_GROUP

    身份信息-组信息

    ACT_ID_INFO

    身份信息-组信息

    ACT_ID_MEMBERSHIP

    身份信息-用户和组关系的中间表

    ACT_ID_USER

    身份信息-用户信息

    流程定义表

    ACT_RE_DEPLOYMENT

    部署单元信息

    ACT_RE_MODEL

    模型信息

    ACT_RE_PROCDEF

    已部署的流程定义

    运行实例表

    ACT_RU_EVENT_SUBSCR

    运行时事件

    ACT_RU_EXECUTION

    运行时流程执行实例

    ACT_RU_IDENTITYLINK

    运行时用户关系信息

    ACT_RU_JOB

    运行时作业

    ACT_RU_TASK

    运行时任务

    ACT_RU_VARIABLE

    运行时变量表

    1.2.2表名:ACT_GE_BYTEARRAY(通用的流程定义和流程资源)

    用来保存部署文件的大文本数据。

    保存流程定义图片和xml、Serializable(序列化)的变量,即保存所有二进制数据,特别注意类路径部署时候,不要把svn等隐藏文件或者其他与流程无关的文件也一起部署到该表中,会造成一些错误(可能导致流程定义无法删除)。

    ACT_GE_BYTEARRAY(act_ge_bytearray)

    是否主键

    字段名

    字段描述

    数据类型

    可空

    约束

    缺省值

    取值说明

    ID_

    主键ID,资源文件编号,自增长

    VARCHAR(64)

     

    REV_

    版本号

    INT(11)

    Version

    NAME_

    部署的文件名称,

    VARCHAR(255)

    mail.bpmn、mail.png 、mail.bpmn20.xml

    DEPLOYMENT_ID_

    来自于父表ACT_RE_DEPLOYMENT的主键

    VARCHAR(64)

    部署的ID

    BYTES_

    大文本类型,存储文本字节流

    LONGBLOB

    GENERATED_

    是否是引擎生成。

    TINYINT(4)

    0为用户生成

    1为Activiti生成

    1.2.3   表名:ACT_GE_PROPERTY(系统相关属性)

    属性数据表。存储这个流程引擎级别的数据。

    ACT_GE_PROPERTY(act_ge_property)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    取值说明

    NAME_

    属性名称

    VARCHAR(64)

    64

    schema.version

    schema.history

    next.dbid

    VALUE_

    属性值

    VARCHAR(300)

    300

    5.*

    create(5.*)

    REV_INT

    版本号

    INT(11)

    11

    1.2.4表名:ACT_HI_ACTINST(历史节点表)

    历史活动信息。这里记录流程流转过的所有节点,与HI_TASKINST不同的是,taskinst只记录usertask内容。

    ACT_HI_ACTINST(act_hi_actinst)

    是否主键

    字段名

    字段描述

    数据类型

    可空

    约束

    取值说明

    ID_

    ID_

    VARCHAR(64)

     

    PROC_DEF_ID_

    流程定义ID

    VARCHAR(64)

     

    PROC_INST_ID_

    流程实例ID

    VARCHAR(64)

     

    EXECUTION_ID_

    流程执行ID

    VARCHAR(64)

     

    ACT_ID_

    活动ID

    VARCHAR(255)

     

    节点定义ID

    TASK_ID_

    任务ID

    VARCHAR(64)

    任务实例ID 其他节点类型实例ID在这里为空

    CALL_PROC_INST_ID_

    请求流程实例ID

    VARCHAR(64)

    调用外部流程的流程实例ID'

    ACT_NAME_

    活动名称

    VARCHAR(255)

    节点定义名称

    ACT_TYPE_

    活动类型

    VARCHAR(255)

     

    如startEvent、userTask

    ASSIGNEE_

    代理人员

    VARCHAR(64)

    节点签收人

    START_TIME_

    开始时间

    DATETIME

     

    2013-09-15 11:30:00

    END_TIME_

    结束时间

    DATETIME

    2013-09-15 11:30:00

    DURATION_

    时长,耗时

    BIGINT(20)

    毫秒值

    1.2.5   表名:ACT_HI_ATTACHMENT附件信息)

    ACT_HI_ATTACHMENT(act_hi_attachment)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    取值说明

    ID_

    ID_

    VARCHAR(64)

    64

    主键ID

    REV_

    REV_

    INT(11)

    11

    Version

    USER_ID_

    用户id

    VARCHAR(255)

    255

    用户ID

    NAME_

    名称

    VARCHAR(255)

    255

    附件名称

    DESCRIPTION_

    描述

    VARCHAR(4000)

    4000

    描述

    TYPE_

    类型

    VARCHAR(255)

    255

    附件类型

    TASK_ID_

    任务Id

    VARCHAR(64)

    64

    节点实例ID

    PROC_INST_ID_

    流程实例ID

    VARCHAR(64)

    64

    流程实例ID

    URL_

    连接

    VARCHAR(4000)

    4000

    附件地址

    CONTENT_ID_

    内容Id

    字节表的ID

    VARCHAR(64)

    64

    ACT_GE_BYTEARRAY的ID

    1.2.6   表名:ACT_HI_COMMENT(历史审批意见表)

    ACT_HI_COMMENT(act_hi_comment)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    取值说明

    ID_

    ID_

    VARCHAR(64)

    64

    主键ID

    TYPE_

    意见记录类型,为comment时,为处理意见

    VARCHAR(255)

    255

    类型:event(事件)

    comment(意见)

    TIME_

    记录时间

    DATETIME

    填写时间

    USER_ID_

    用户Id

    VARCHAR(255)

    255

    填写人

    TASK_ID_

    任务Id

    VARCHAR(64)

    64

    节点实例ID

    PROC_INST_ID_

    流程实例Id

    VARCHAR(64)

    64

    流程实例ID

    ACTION_

    行为类型。

    为addcomment时,为处理意见

    VARCHAR(255)

    255

    值为下列内容中的一种:    AddUserLink、DeleteUserLink、AddGroupLink、DeleteGroupLink、AddComment、AddAttachment、DeleteAttachment

    MESSAGE_

    处理意见

    VARCHAR(4000)

    4000

    用于存放流程产生的信息,比如审批意见

    FULL_MSG_

    全部消息

    LONGBLOB

    1.2.7表名:ACT_HI_DETAIL(历史详细信息)

    历史详情表:流程中产生的变量详细,包括控制流程流转的变量,业务表单中填写的流程需要用到的变量等。

    ACT_HI_DETAIL(act_hi_detail)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    取值说明

    ID_

    ID_

    VARCHAR(64)

    64

    主键

    TYPE_

    数据类型

    VARCHAR(255)

    255

    类型:

    FormProperty, //表单

    VariableUpdate //参数

    PROC_INST_ID_

    流程实例ID

    VARCHAR(64)

    64

    流程实例ID

    EXECUTION_ID_

    执行实例Id

    VARCHAR(64)

    64

    执行实例ID

    TASK_ID_

    任务Id

    VARCHAR(64)

    64

    任务实例ID

    ACT_INST_ID_

    活动实例Id

    VARCHAR(64)

    64

    ACT_HI_ACTINST表的ID

    NAME_

    名称

    VARCHAR(255)

    255

    名称

    VAR_TYPE_

    变量类型

    VARCHAR(255)

    255

    参见VAR_TYPE_类型说明

    REV_

    REV_

    INT(11)

    11

    Version

    TIME_

    创建时间

    DATETIME

    创建时间

    BYTEARRAY_ID_

    字节数组Id

    VARCHAR(64)

    64

    ACT_GE_BYTEARRAY表的ID

    DOUBLE_

    DOUBLE_

    DOUBLE

    存储变量类型为Double

    LONG_

    LONG_

    BIGINT(20)

    20

    存储变量类型为long

    TEXT_

    VARCHAR(4000)

    4000

    存储变量值类型为String

    TEXT2_

    值2

    VARCHAR(4000)

    4000

    此处存储的是JPA持久化对象时,才会有值。此值为对象ID

    备注:VAR_TYPE_类型说明: jpa-entity、boolean、bytes、serializable(可序列化)、自定义type(根据你自身配置)、 CustomVariableType、date、double、integer、long、null、short、string

    1.2.8   表名:ACT_HI_IDENTITYLINK (历史流程人员表)

    任务参与者数据表。主要存储历史节点参与者的信息。

    ACT_HI_IDENTITYLINK(act_hi_identitylink)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    取值说明

    ID_

    ID_

    VARCHAR(64)

    64

    ID_

    GROUP_ID_

    用户组ID

    VARCHAR(255)

    255

    组ID

    TYPE_

    用户组类型

    VARCHAR(255)

    255

    类型,主要分为以下几种:

    assignee、

    candidate、

    owner、starter 、participant

    USER_ID_

    用户ID

    VARCHAR(255)

    255

    用户ID

    TASK_ID_

    任务Id

    VARCHAR(64)

    64

    节点实例ID

    PROC_INST_ID_

    流程实例Id

    VARCHAR(64)

    64

    流程实例ID

    1.2.9   表名:ACT_HI_PROCINST(历史流程实例信息)核心表

    ACT_HI_PROCINST(act_hi_procinst)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    ID_

    VARCHAR(64)

    64

    PROC_INST_ID_

    流程实例ID

    VARCHAR(64)

    64

    BUSINESS_KEY_

    业务Key

    VARCHAR(255)

    255

    PROC_DEF_ID_

    流程定义Id

    VARCHAR(64)

    64

    START_TIME_

    开始时间

    DATETIME

    END_TIME_

    结束时间

    DATETIME

    DURATION_

    时长

    BIGINT(20)

    20

    START_USER_ID_

    发起人员Id

    VARCHAR(255)

    255

    START_ACT_ID_

    开始节点

    VARCHAR(255)

    255

    END_ACT_ID_

    结束节点

    VARCHAR(255)

    255

    SUPER_PROCESS_INSTANCE_ID_

    超级流程实例Id

    VARCHAR(64)

    64

    DELETE_REASON_

    删除理由

    VARCHAR(4000)

    4000

    1.2.10 表名:ACT_HI_TASKINST(历史任务流程实例信息)核心表

    ACT_HI_TASKINST(act_hi_taskinst)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    ID_

    VARCHAR(64)

    64

    主键ID

    PROC_DEF_ID_

    流程定义Id

    VARCHAR(64)

    64

    流程定义ID

    TASK_DEF_KEY_

    任务定义Key

    VARCHAR(255)

    255

    节点定义ID

    PROC_INST_ID_

    流程实例ID

    VARCHAR(64)

    64

    流程实例ID

    EXECUTION_ID_

    执行ID

    VARCHAR(64)

    64

    执行实例ID

    NAME_

    名称

    VARCHAR(255)

    255

    名称

    PARENT_TASK_ID_

    父任务iD

    VARCHAR(64)

    64

    父节点实例ID

    DESCRIPTION_

    描述

    VARCHAR(4000)

    4000

    描述

    OWNER_

    实际签收人 任务的拥有者

    VARCHAR(255)

    255

    签收人(默认为空,只有在委托时才有值)

    ASSIGNEE_

    代理人

    VARCHAR(255)

    255

    签收人或被委托

    START_TIME_

    开始时间

    DATETIME

    开始时间

    CLAIM_TIME_

    提醒时间

    DATETIME

    提醒时间

    END_TIME_

    结束时间

    DATETIME

    结束时间

    DURATION_

    时长

    BIGINT(20)

    20

    耗时

    DELETE_REASON_

    删除理由

    VARCHAR(4000)

    4000

    删除原因(completed,deleted)

    PRIORITY_

    优先级

    INT(11)

    11

    优先级别

    DUE_DATE_

    应完成时间

    DATETIME

    过期时间,表明任务应在多长时间内完成

    FORM_KEY_

    表单key

    VARCHAR(255)

    255

    desinger节点定义的

    form_key属性

    1.2.11 表名:ACT_HI_VARINST历史变量信息)

    ACT_HI_VARINST(act_hi_varinst)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    ID_

    VARCHAR(64)

    64

    ID_

    PROC_INST_ID_

    流程实例ID

    VARCHAR(64)

    64

    流程实例ID

    EXECUTION_ID_

    执行ID

    VARCHAR(64)

    64

    执行实例ID

    TASK_ID_

    任务Id

    VARCHAR(64)

    64

    任务实例ID

    NAME_

    名称

    VARCHAR(255)

    255

    参数名称(英文)

    VAR_TYPE_

    变量类型

    VARCHAR(100)

    100

    参见VAR_TYPE_类型说明

    REV_

    REV_

    INT(11)

    11

    Version

    BYTEARRAY_ID_

    字节数组ID

    VARCHAR(64)

    64

    ACT_GE_BYTEARRAY表的主键

    DOUBLE_

    DOUBLE_

    DOUBLE

    存储DoubleType类型的数据

    LONG_

    LONG_

    BIGINT(20)

    20

    存储LongType类型的数据

    TEXT_

    TEXT_

    VARCHAR(4000)

    4000

    存储变量值类型为String,如此处存储持久化对象时,值jpa对象的class

    TEXT2_

    TEXT2_

    VARCHAR(4000)

    4000

    此处存储的是JPA持久化对象时,才会有值。此值为对象ID

    1.2.12       表名:ACT_ID_GROUP(用户组表)

    用来存储用户组信息。

    ACT_ID_GROUP(act_id_group)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    用户组ID

    VARCHAR(64)

    64

    REV_

    版本号

    INT(11)

    11

    NAME_

    用户组描述信息

    VARCHAR(255)

    255

    TYPE_

    用户组类型

    VARCHAR(255)

    255

    1.2.13 表名:ACT_ID_INFO(用户扩展信息表)

    用户扩展信息表。目前该表未用到。

    ACT_ID_INFO(act_id_info)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    VARCHAR(64)

    64

    REV_

    版本号

    INT(11)

    11

    USER_ID_

    用户ID

    VARCHAR(64)

    64

    TYPE_

    类型

    VARCHAR(64)

    64

    KEY_

    formINPut名称

    VARCHAR(255)

    255

    VALUE_

    VARCHAR(255)

    255

    PASSWORD_

    密码

    LONGBLOB

    PARENT_ID_

    父节点

    VARCHAR(255)

    255

     

    1.2.14       表名:ACT_ID_MEMBERSHIP(用户用户组关联表)

    用来保存用户的分组信息

    ACT_ID_MEMBERSHIP(act_id_membership)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    USER_ID_

    用户Id

    VARCHAR(64)

    64

    GROUP_ID_

    用户组Id

    VARCHAR(64)

    64

    1.2.15 表名:ACT_ID_USER(用户信息表)

    ACT_ID_USER(act_id_user)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    ID_

    VARCHAR(64)

    64

    REV_

    版本号

    INT(11)

    11

    FIRST_

    用户名称

    VARCHAR(255)

    255

    LAST_

    用户姓氏

    VARCHAR(255)

    255

    EMAIL_

    邮箱

    VARCHAR(255)

    255

    PWD_

    密码

    VARCHAR(255)

    255

    PICTURE_ID_

    头像Id

    VARCHAR(64)

    64

    1.2.16 表名:ACT_RE_DEPLOYMENT(部署信息表)

    用来存储部署时需要持久化保存下来的信息

    ACT_RE_DEPLOYMENT(act_re_deployment)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    部署编号,自增长

    VARCHAR(64)

    64

    NAME_

    部署包的名称

    VARCHAR(255)

    255

    CATEGORY_

    类型

    VARCHAR(255)

    255

    TENANT_ID_

    租户

    VARCHAR(255)

    255

     

    多租户通常是在软件需要为多个不同组织服务时产生的概念

    DEPLOY_TIME_

    部署时间

    TIMESTAMP

    CURRENT_TIMESTAMP

    1.2.17 表名:ACT_RE_MODEL(流程设计模型表)

        创建流程的设计模型时,保存在该数据表中。

    ACT_RE_MODEL(act_re_model)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    ID_

    VARCHAR(64)

    64

    ID_

    REV_

    INT(11)

    11

    乐观锁

    NAME_

    模型的名称:

    比如:收文管理

    VARCHAR(255)

    255

    名称

    KEY_

    模型的关键字,流程引擎用到。

    比如:FTOA_SWGL

    VARCHAR(255)

    255

    分类,例如:

    http://www.mossle.com/docs/activiti/

    CATEGORY_

    类型,用户自己对流程模型的分类。

    VARCHAR(255)

    255

    分类

    CREATE_TIME_

    创建时间

    TIMESTAMP

    创建时间

    LAST_UPDATE_TIME_

    最后修改时间

    TIMESTAMP

    最新修改时间

    VERSION_

    版本,从1开始。

    INT(11)

    11

    版本

    META_INFO_

    数据源信息,比如:

    {"name":"FTOA_SWGL","revision":1,"description":"丰台财政局OA,收文管理流程"}

    VARCHAR(4000)

    4000

    以json格式保存流程定义的信息

    DEPLOYMENT_ID_

    部署ID

    VARCHAR(64)

    64

    部署ID

    EDITOR_SOURCE_VALUE_ID_

    编辑源值ID

    VARCHAR(64)

    64

    是 ACT_GE_BYTEARRAY 表中的ID_值。

    EDITOR_SOURCE_EXTRA_VALUE_ID_

    编辑源额外值ID(外键ACT_GE_BYTEARRAY )

    VARCHAR(64)

    64

    是 ACT_GE_BYTEARRAY 表中的ID_值。

    TENANT_ID_

    租户

    VARCHAR(255)

    255

    1.2.18 表名:ACT_RE_PROCDEF流程定义:解析表)

    流程解析表,解析成功了,在该表保存一条记录。业务流程定义数据表

    ACT_RE_PROCDEF(act_re_procdef)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省

    备注

    ID_

    流程ID,由“流程编号:流程版本号:自增长ID”组成

    VARCHAR(64)

    64

    ID_

    REV_

    版本号

    INT(11)

    11

    乐观锁

    CATEGORY_

    流程命名空间(该编号就是流程文件targetNamespace的属性值)

    VARCHAR(255)

    255

    流程定义的Namespace就是类别

    NAME_

    流程名称(该编号就是流程文件process元素的name属性值)

    VARCHAR(255)

    255

    名称

    KEY_

    流程编号(该编号就是流程文件process元素的id属性值)

    VARCHAR(255)

    255

    流程定义ID

    VERSION_

    流程版本号(由程序控制,新增即为1,修改后依次加1来完成的)

    INT(11)

    11

    版本

    DEPLOYMENT_ID_

    部署编号

    VARCHAR(64)

    64

    部署表ID

    RESOURCE_NAME_

    资源文件名称

    VARCHAR(4000)

    4000

    流程bpmn文件名称

    DGRM_RESOURCE_NAME_

    图片资源文件名称

    VARCHAR(4000)

    4000

    png流程图片名称

    DESCRIPTION_

    描述信息

    VARCHAR(4000)

    4000

    描述

    HAS_START_FORM_KEY_

    是否从key启动

    TINYINT(4)

    4

    start节点是否存在formKey

     0否  1是

    SUSPENSION_STATE_

    是否挂起

    INT(11)

    11

    1激活 2挂起

    注:此表和ACT_RE_DEPLOYMENT是多对一的关系,即,一个部署的bar包里可能包含多个流程定义文件,每个流程定义文件都会有一条记录在ACT_RE_PROCDEF表内,每个流程定义的数据,都会对于ACT_GE_BYTEARRAY表内的一个资源文件和PNG图片文件。和ACT_GE_BYTEARRAY的关联是通过程序用ACT_GE_BYTEARRAY.NAME与ACT_RE_PROCDEF.NAME_完成的,在数据库表结构中没有体现。

    1.2.19 表名:ACT_RU_EVENT_SUBSCR(运行时事件)

    ACT_RU_EVENT_SUBSCR(act_ru_event_subscr)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    ID

    VARCHAR(64)

    64

    REV_

    版本号

    INT(11)

    11

    EVENT_TYPE_

    事件类型

    VARCHAR(255)

    255

    EVENT_NAME_

    事件名称

    VARCHAR(255)

    255

    EXECUTION_ID_

    流程执行ID

    VARCHAR(64)

    64

    PROC_INST_ID_

    流程实例ID

    VARCHAR(64)

    64

    ACTIVITY_ID_

    活动ID

    VARCHAR(64)

    64

    CONFIGURATION_

    配置信息

    VARCHAR(255)

    255

    CREATED_

    创建时间

    TIMESTAMP

    CURRENT_TIMESTAMP

    1.2.20       表名:ACT_RU_EXECUTION运行时流程执行实例)

    核心,我的代办任务查询表

    ACT_RU_EXECUTION(act_ru_execution)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    ID_

    VARCHAR(64)

    64

    ID_

    REV_

    版本号

    INT(11)

    11

    乐观锁

    PROC_INST_ID_

    流程实例编号

    VARCHAR(64)

    64

    流程实例ID

    BUSINESS_KEY_

    业务编号

    VARCHAR(255)

    255

    业务主键ID

    PARENT_ID_

    父执行流程

    VARCHAR(64)

    64

    父节点实例ID

    PROC_DEF_ID_

    流程定义Id

    VARCHAR(64)

    64

    流程定义ID

    SUPER_EXEC_

    VARCHAR(64)

    64

    ACT_ID_

    实例id

    VARCHAR(255)

    255

    节点实例ID即

    ACT_HI_ACTINST中ID

    IS_ACTIVE_

    激活状态

    TINYINT(4)

    4

    是否存活

    IS_CONCURRENT_

    并发状态

    TINYINT(4)

    4

    是否为并行(true/false)

    IS_SCOPE_

    TINYINT(4)

    4

    IS_EVENT_SCOPE_

    TINYINT(4)

    4

    SUSPENSION_STATE_

    暂停状态_

    INT(11)

    11

    挂起状态   1激活 2挂起

    CACHED_ENT_STATE_

    缓存结束状态_

    INT(11)

    11

    1.2.21 表名:ACT_RU_IDENTITYLINK(身份联系)

    主要存储当前节点参与者的信息,任务参与者数据表。

    ACT_RU_IDENTITYLINK(act_ru_identitylink)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    取值说明

    ID_

    ID_

    VARCHAR(64)

    64

    REV_

    版本号

    INT(11)

    11

    GROUP_ID_

    用户组ID

    VARCHAR(255)

    255

    TYPE_

    用户组类型

    VARCHAR(255)

    255

    主要分为以下几种:assignee、candidate、

    owner、starter、participant。即:受让人,候选人,所有者、起动器、参与者

    USER_ID_

    用户ID

    VARCHAR(255)

    255

    TASK_ID_

    任务Id

    VARCHAR(64)

    64

    PROC_INST_ID_

    流程实例ID

    VARCHAR(64)

    64

    PROC_DEF_ID_

    流程定义Id

    VARCHAR(64)

    64

    1.2.22 表名:ACT_RU_JOB(运行中的任务)

    运行时定时任务数据表

    ACT_RU_JOB(act_ru_job)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    取值说明

    ID_

    ID_

    VARCHAR(64)

    64

    标识

    REV_

    版本号

    INT(11)

    11

    版本

    TYPE_

    TYPE_

    VARCHAR(255)

    255

    类型

    LOCK_EXP_TIME_

    LOCK_EXP_TIME_

    TIMESTAMP

    锁定释放时间

    LOCK_OWNER_

    LOCK_OWNER_

    VARCHAR(255)

    255

    挂起者

    EXCLUSIVE_

    EXCLUSIVE_

    TINYINT(1)

    1

    EXECUTION_ID_

    EXECUTION_ID_

    VARCHAR(64)

    64

    执行实例ID

    PROCESS_INSTANCE_ID_

    PROCESS_INSTANCE_ID_

    VARCHAR(64)

    64

    流程实例ID

    PROC_DEF_ID_

    PROC_DEF_ID_

    VARCHAR(64)

    64

    流程定义ID

    RETRIES_

    RETRIES_

    INT(11)

    11

    EXCEPTION_STACK_ID_

    EXCEPTION_STACK_ID_

    VARCHAR(64)

    64

    异常信息ID

    EXCEPTION_MSG_

    EXCEPTION_MSG_

    VARCHAR(4000)

    4000

    异常信息

    DUEDATE_

    DUEDATE_

    TIMESTAMP

    到期时间

    REPEAT_

    REPEAT_

    VARCHAR(255)

    255

    重复

    HANDLER_TYPE_

    HANDLER_TYPE_

    VARCHAR(255)

    255

    处理类型

    HANDLER_CFG_

    HANDLER_CFG_

    VARCHAR(4000)

    4000

    标识

    1.2.23 表名:ACT_RU_TASK(运行时任务数据表)

    (执行中实时任务)代办任务查询表

    ACT_RU_TASK(act_ru_task)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    取值说明

    ID_

    ID_

    VARCHAR(64)

    64

    ID_

    REV_

    版本号

    INT(11)

    11

    乐观锁

    EXECUTION_ID_

    实例id(外键EXECUTION_ID_)

    VARCHAR(64)

    64

    执行实例ID

    PROC_INST_ID_

    流程实例ID(外键PROC_INST_ID_)

    VARCHAR(64)

    64

    流程实例ID

    PROC_DEF_ID_

    流程定义ID

    VARCHAR(64)

    64

    流程定义ID

    NAME_

    任务名称

    VARCHAR(255)

    255

    节点定义名称

    PARENT_TASK_ID_

    父节任务ID

    VARCHAR(64)

    64

    父节点实例ID

    DESCRIPTION_

    任务描述

    VARCHAR(4000)

    4000

    节点定义描述

    TASK_DEF_KEY_

    任务定义key

    VARCHAR(255)

    255

    任务定义的ID

    OWNER_

    所属人(老板)

    VARCHAR(255)

    255

    拥有者(一般情况下为空,只有在委托时才有值)

    ASSIGNEE_

    代理人员

    (受让人)

    VARCHAR(255)

    255

    签收人或委托人

    DELEGATION_

    代理团

    VARCHAR(64)

    64

    委托类型,DelegationState分为两种:PENDING,RESOLVED。如无委托则为空

    PRIORITY_

    优先权

    INT(11)

    11

    优先级别,默认为:50

    CREATE_TIME_

    创建时间

    TIMESTAMP

    创建时间,CURRENT_TIMESTAMP

    DUE_DATE_

    执行时间

    DATETIME

    耗时

    SUSPENSION_STATE_

    暂停状态

    INT(11)

    11

    1代表激活 2代表挂起

    1.2.24 表名:ACT_RU_VARIABLE(运行时流程变量数据表)

    ACT_RU_VARIABLE(act_ru_variable)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    ID_

    VARCHAR(64)

    64

    主键标识

    REV_

    版本号

    INT(11)

    11

    乐观锁

    TYPE

    编码类型

    VARCHAR(255)

    255

    参见VAR_TYPE_类型说明

    NAME_

    变量名称

    VARCHAR(255)

    255

    变量名称

    EXECUTION_ID_

    执行实例ID

    VARCHAR(64)

    64

    执行的ID

    PROC_INST_ID_

    流程实例Id

    VARCHAR(64)

    64

    流程实例ID

    TASK_ID_

    任务id

    VARCHAR(64)

    64

    节点实例ID(Local)

    BYTEARRAY_ID_

    字节组ID

    VARCHAR(64)

    64

    字节表的ID

    (ACT_GE_BYTEARRAY)

    DOUBLE_

    DOUBLE_

    DOUBLE

    存储变量类型为Double

    LONG_

    LONG_

    BIGINT(20)

    20

    存储变量类型为long

    TEXT_

    TEXT_

    VARCHAR(4000)

    4000

    存储变量值类型为String

    如此处存储持久化对象时,值jpa对象的class

    TEXT2_

    TEXT2_

    VARCHAR(4000)

    4000

    此处存储的是JPA持久化对象时,才会有值。此值为对象ID

    2  Activiti中主要对象的关系

    本节主要介绍在工作流中出现的几个对象及其之间的关系,以及在Activiti中各个对象是如何关联的。

    在开始之前先看看下图,对整个对象结构有个了解,再结合实例详细介绍理解。

    图1.Activiti中几个对象之间的关系

    我们模拟一个请假的流程进行分析介绍,该流程主要包含以下几个步骤:

    u  员工申请请假

    u  部门领导审批

    u  人事审批

    u  员工销假

    ProcessInstance对象

    员工开始申请请假流程,通过runtimeService.startProcessInstance()方法启动,引擎会创建一个流程实例(ProcessInstance)。

    简单来说流程实例就是根据一次(一条)业务数据用流程驱动的入口,两者之间是一对一的关系。流程引擎会创建一条数据到ACT_RU_EXECUTION表,同时也会根据history的级别决定是否查询相同的历史数据到ACT_HI_PROCINST表。

    启动完流程之后业务和流程已经建立了关联关系,第一步结束。

    启动流程和业务关联区别:

    u 对于自定义表单来说启动的时候会传入businessKey作为业务和流程的关联属性

    u 对于动态表单来说不需要使用businessKey关联,因为所有的数据都保存在引擎的表中

    u 对于外部表单来说businessKey是可选的,但是一般不会为空,和自定义表单类似

    Execution对象

    对于初学者来说,最难理解的地方就是ProcessInstance与Execution之间的关系,要分两种情况说明。Execution的含义就是一个流程实例(ProcessInstance)具体要执行的过程对象。

    不过在说明之前先声明两者的对象映射关系:

    ProcessInstance(1)→ Execution(N),(其中N>=1)。

    1)  值相等的情况:

    除了在流程中启动的子流程之外,流程启动之后在表ACT_RU_EXECUTION中的字段ID_PROC_INST_ID_字段值是相同的。

    图2.ID_和PROC_INST_ID_相等

    2)  值不相等的情况:

    不相等的情况目前只会出现在子流程中(包含:嵌套、引入),例如一个购物流程中除了下单、出库节点之外可能还有一个付款子流程,在实际企业应用中付款流程通常是作为公用的,所以使用子流程作为主流程(购物流程)的一部分。

    当任务到达子流程时引擎会自动创建一个付款流程,但是这个流程有一个特殊的地方,在数据库可以直观体现,如下图。

    图3.ID_和PROC_INST_ID_不相等

    上图中有两条数据,第二条数据(嵌入的子流程)的PARENT_ID_等于第一条数据的ID_PROC_INST_ID_,并且两条数据的PROC_INST_ID_相同。

    上图中还有一点特殊的地方,字段IS_ACTIVE_的值分别是0和1,说明正在执行子流程主流程挂起。

     

    Task对象

    前面说了ProcessInstance和业务是一对一关联的,和业务数据最亲密;而Task则和用户最亲密的(UserTask),用户每天的待办事项就是一个个的Task对象。

    从图1中看得出Execution和Task是一对一关系,Task可以是任何类型的Task实现,可以是用户任务(UserTask)、Java服务(JavaServiceTask)等,在实际流程运行中只不过面向对象不同,用户任务(UserTask)需要有人为参与完成(complete),Java服务需要由系统自动执行(execution)。

    图4. 表ACT_RU_TASK

    Task是在流程定义中看到的最大单位,每当一个Task完成的时候引擎会把当前的任务移动到历史中,然后插入下一个任务插入到表ACT_RU_TASK中。结合请假流程来说就是让用户点击“完成”按钮提交当前任务是的动作,引擎自动根据任务的顺序流或者排他分支判断走向。

    HistoryActivity(历史活动)

    图5. 表ACT_HI_ACTINST

     

    Activity包含了流程中所有的活动数据,例如开始事件(图5表中的第1条数据)、各种分支(排他分支、并行分支等,图5表中的第2条数据)、以及刚刚提到的Task执行记录(如图5表中的第3、4条数据)。

    有些人认为Activity和Task是多对一关系,其实不是,从上图中可以看出来根本没有Task相关的字段。

    结合请假流程来说,如Task中提到的当完成流程的时候所有下一步要执行的任务(包括各种分支)都会创建一个Activity记录到数据库中。例如领导审核节点点击“同意”按钮就会流转到人事审批节点,如果“驳回”那就流转到调整请假内容节点,每一次操作的Task背后实际记录更详细的活动(Activity)。

  • 相关阅读:
    C#设计模式之订阅发布模式
    ASP.NET Core依赖注入(DI)
    ASP.NET 开源导入导出库Magicodes.IE 完成Csv导入导出
    .NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
    曾经优秀的人,怎么就突然不优秀了?
    IDEA中文注释难看的简单解决办法
    JasperReport报表中输出Excel时,部分列不显示的问题
    为什么Spring Security看不见登录失败或者注销的提示
    JQuery文件上传插件JQuery.upload.js的用法简介
    一个很酷炫也挺实用的JS库leader-line
  • 原文地址:https://www.cnblogs.com/telwanggs/p/7491564.html
Copyright © 2011-2022 走看看