整体说明:
JBPM4_DEPLOYMENT 流程定义表
JBPM4_DEPLOYPROP 流程定义属性表
JBPM4_EXECUTION 流程实例表
JBPM4_HIST_ACTINST 流程活动(节点)实例表
JBPM4_HIST_DETAIL 流程历史详细表
JBPM4_HIST_PROCINST流程实例历史表
JBPM4_HIST_TASK 流程任务实例历史表
JBPM4_HIST_VAR 流程变量(上下文)历史表
JBPM4_ID_GROUP 组表
JBPM4_ID_MEMBERSHIP 用户角色表
JBPM4_ID_USER 用户表
JBPM4_JOB 定时表
JBPM4_LOB 存储表
JBPM4_PARTICIPATION 参与者表
JBPM4_SWIMLANE 泳道表
JBPM4_TASK 任务表
JBPM4_VARIABLE 上下文表
红 色的表为经常使用的表.这里不使用JBPM自己的权限角色定义.
发布一个流程deploy后
jbpm4_deployment新增一条记录
jbpm4_deployprop新增三条记录
jbpm4_lob 新增一条记录
开始一个流程startProcessInstanceByKey后
jbpm4_execution新增一条记录
jbpm4_hist_actinst 新增一条记录
jbpm4_hist_procinst新增一条记录
jbpm4_hist_task新增一条记录
jbpm4_task 新增一条记录
流程定义相关的布署信息就存储在(1)JBPM4_DEPLOYMENT、(2)JBPM4_DEPLOYPROP及(3)JBPM4_LOB中。上传一个包含png和jpdl.xml的zip包后,JBPM4_DEPLOYMENT多一条记录 JBPM4_DEPLOYPROP 多三条, JBPM4_LOB多两条。
(4)JBPM4_HIST_PROCINST与(5)JBPM4_HIST_ACTINST分别存放的是Process Instance、Activity Instance的历史记录。
(6)JBPM4_EXECUTION主要是存放JBPM4的执行信息,Execution机制代替了JBPM3的Token机制(详细参阅JBPM4的PVM机制,过段时间我也会进一步分析)。
(7)JBPM4_TASK存放需要人来完成的Activities,需要人来参与完成的Activity 被称为Task。
(8)JBPM4_PARTICIPATION存放 Participation的信息,Participation的种类有Candidate、Client、Owner、Replaced Assignee和Viewer。而具体的Participation既可以是单一用户,也可以是用户组。
(9)JBPM4_SWIMLANE。Swim Lane是一种Runtime ProcessRole。通过Swim Lane,多个Task可以一次分配到同一Actor身上。
(10)JBPM4_VARIABLE存的是进行时的临时变量。
(11)JBPM4_HIST_DETAIL保存 Variable的变更记录。
(12)JBPM4_HIST_VAR保存历史的变量 。
(13)JBPM4_HIST_TASK Task的历史信息。
(14)JBPM4_ID_GROUP(15)JBPM_ID_MEMBERSHIP(16)JBPM4_ID_USER这三张表很常见了,基本的权限控制,关于用户认证方面建议还是自己开发一套,JBPM4的功能太简单了,使用中有很多需要难以满足。
(17)JBPM4_JOB存放的是Timer的定义。
(18)JBPM4_PROPERTY JBPM引擎参数表。
1.1.1.1. 表JBPM4_DEPLOYMENT
表名 |
流程定义表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
流程模版标识 |
NAME_ |
CLOB |
Y |
|
流程模版名称 |
TIMESTAMP_ |
NUMBER(19) |
Y |
|
时间戳 |
STATE_ |
VARCHAR2(255 CHAR) |
Y |
|
可用状态 |
补充说明 |
|
|
1.1.1.2. 表JBPM4_DEPLOYPROP
表名 |
流程定义属性表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
主键 |
DEPLOYMENT_ |
NUMBER(19) |
Y |
FK(JBPM4_DEPLOYMENT, DBID_) |
流程ID |
OBJNAME_ |
VARCHAR2(255 CHAR) |
Y |
|
流程名称 |
KEY_ |
VARCHAR2(255 CHAR) |
Y |
|
类型 |
STRINGVAL_ |
VARCHAR2(255 CHAR) |
Y |
|
类型是字符串时的值 |
LONGVAL_ |
NUMBER(19) |
Y |
|
类型是数值时的值 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.3. 表JBPM4_EXECUTION
表名 |
流程实例表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
流程实例ID |
CLASS_ |
VARCHAR2(255 CHAR) |
N |
|
类型 |
DBVERSION_ |
NUMBER(10) |
N |
|
步骤版本 |
ACTIVITYNAME_ |
VARCHAR2(255 CHAR) |
Y |
|
节点名称 |
PROCDEFID_ |
VARCHAR2(255 CHAR) |
Y |
|
流程定义ID |
HASVARS_ |
NUMBER(1) |
Y |
|
是否有变量值 |
NAME_ |
VARCHAR2(255 CHAR) |
Y |
|
名称 |
KEY_ |
VARCHAR2(255 CHAR) |
Y |
|
|
ID_ |
VARCHAR2(255 CHAR) |
Y |
UK |
令牌ID |
STATE_ |
VARCHAR2(255 CHAR) |
Y |
|
令牌状态 |
SUSPHISTSTATE_ |
VARCHAR2(255 CHAR) |
Y |
|
保存暂停之前状态 |
PRIORITY_ |
NUMBER(10) |
Y |
|
优先级 |
HISACTINST_ |
NUMBER(19) |
Y |
|
历史活动实例ID |
PARENT_ |
NUMBER(19) |
Y |
FK(JBPM4_EXECUTION, DBID_) |
父实例 |
INSTANCE_ |
NUMBER(19) |
Y |
FK(JBPM4_EXECUTION, DBID_) |
流程实例 |
SUPEREXEC_ |
NUMBER(19) |
Y |
FK(JBPM4_EXECUTION, DBID_) |
父令牌 |
SUBPROCINST_ |
NUMBER(19) |
Y |
FK(JBPM4_EXECUTION, DBID_) |
子流程实例 |
PARENT_IDX_ |
NUMBER(10) |
Y |
|
父实例序号 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.4. 表JBPM4_HIST_ACTINST
表名 |
流程活动(节点)实例表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
标识 |
CLASS_ |
VARCHAR2(255 CHAR) |
N |
|
activity类型 |
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
HPROCI_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_PROCINST, DBID_) |
历史流程实例 |
TYPE_ |
VARCHAR2(255 CHAR) |
Y |
|
活动实例类型 |
EXECUTION_ |
VARCHAR2(255 CHAR) |
Y |
|
令牌 |
ACTIVITY_NAME_ |
VARCHAR2(255 CHAR) |
Y |
|
活动实例名称 |
START_ |
TIMESTAMP(6) |
Y |
|
开始名称 |
END_ |
TIMESTAMP(6) |
Y |
|
结束时间 |
DURATION_ |
NUMBER(19) |
Y |
|
节点停留时间 |
TRANSITION_ |
VARCHAR2(255 CHAR) |
Y |
|
迁移路径 |
NEXTIDX_ |
NUMBER(10) |
Y |
|
|
HTASK_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_TASK, DBID_) |
对应的定义任务 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.5. 表JBPM4_HIST_DETAIL
表名 |
流程历史详细表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
流程模版标识 |
CLASS_ |
VARCHAR2(255 CHAR) |
N |
|
|
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
USERID_ |
VARCHAR2(255 CHAR) |
Y |
|
用户ID |
TIME_ |
TIMESTAMP(6) |
Y |
|
时间 |
HPROCI_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_PROCINST, DBID_) |
对应的历史流程实例 |
HPROCIIDX_ |
NUMBER(10) |
Y |
|
|
HACTI_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_ACTINST, DBID_) |
对应的历史活动实例ID |
HACTIIDX_ |
NUMBER(10) |
Y |
|
|
HTASK_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_TASK, DBID_) |
对应的任务 |
HTASKIDX_ |
NUMBER(10) |
Y |
|
|
HVAR_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_VAR, DBID_) |
对应的变量值 |
HVARIDX_ |
NUMBER(10) |
Y |
|
|
MESSAGE_ |
CLOB |
Y |
|
消息 |
OLD_STR_ |
VARCHAR2(255 CHAR) |
Y |
|
老的String类型的值 |
NEW_STR_ |
VARCHAR2(255 CHAR) |
Y |
|
新的String类型的值 |
OLD_INT_ |
NUMBER(10) |
Y |
|
|
NEW_INT_ |
NUMBER(10) |
Y |
|
|
OLD_TIME_ |
TIMESTAMP(6) |
Y |
|
|
NEW_TIME_ |
TIMESTAMP(6) |
Y |
|
|
PARENT_ |
NUMBER(19) |
Y |
|
变量的父变量 |
PARENT_IDX_ |
NUMBER(10) |
Y |
|
变量的父变量序号 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.6. 表JBPM4_HIST_PROCINST
表名 |
流程实例历史表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
标识 |
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
ID_ |
VARCHAR2(255 CHAR) |
Y |
|
|
PROCDEFID_ |
VARCHAR2(255 CHAR) |
Y |
|
流程定义ID |
KEY_ |
VARCHAR2(255 CHAR) |
Y |
|
|
START_ |
TIMESTAMP(6) |
Y |
|
开始时间 |
END_ |
TIMESTAMP(6) |
Y |
|
结束时间 |
DURATION_ |
NUMBER(19) |
Y |
|
停留时间 |
STATE_ |
VARCHAR2(255 CHAR) |
Y |
|
流程实例状态(活动,完成) |
ENDACTIVITY_ |
VARCHAR2(255 CHAR) |
Y |
|
是否完成 |
NEXTIDX_ |
NUMBER(10) |
Y |
|
|
|
|
|
|
|
补充说明 |
|
|
1.1.1.7. 表JBPM4_HIST_TASK
表名 |
流程任务实例历史表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
标识 |
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
EXECUTION_ |
VARCHAR2(255 CHAR) |
Y |
|
令牌 |
OUTCOME_ |
VARCHAR2(255 CHAR) |
Y |
|
路径名称 |
ASSIGNEE_ |
VARCHAR2(255 CHAR) |
Y |
|
处理人 |
PRIORITY_ |
NUMBER(10) |
Y |
|
优先级 |
STATE_ |
VARCHAR2(255 CHAR) |
Y |
|
完成情况 |
CREATE_ |
TIMESTAMP(6) |
Y |
|
创建时间 |
END_ |
TIMESTAMP(6) |
Y |
|
完成时间 |
DURATION_ |
NUMBER(19) |
Y |
|
任务节点停留时间 |
NEXTIDX_ |
NUMBER(10) |
Y |
|
|
SUPERTASK_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_TASK, DBID_) |
父任务 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.8. 表JBPM4_HIST_VAR
表名 |
流程变量(上下文)历史表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
流程模版标识 |
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
PROCINSTID_ |
VARCHAR2(255 CHAR) |
Y |
|
对应运行的流程实例 |
EXECUTIONID_ |
VARCHAR2(255 CHAR) |
Y |
|
活动实例ID |
VARNAME_ |
VARCHAR2(255 CHAR) |
Y |
|
变量名称 |
VALUE_ |
VARCHAR2(255 CHAR) |
Y |
|
值 |
HPROCI_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_PROCINST, DBID_) |
历史流程实例 |
HTASK_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_TASK, DBID_) |
历史任务 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.9. 表JBPM4_ID_GROUP
表名 |
组表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
|
|
DBVERSION_ |
NUMBER(10) |
N |
|
|
ID_ |
VARCHAR2(255 CHAR) |
Y |
|
|
NAME_ |
VARCHAR2(255 CHAR) |
Y |
|
|
TYPE_ |
VARCHAR2(255 CHAR) |
Y |
|
|
PARENT_ |
NUMBER(19) |
Y |
|
|
|
|
|
|
|
补充说明 |
|
|
1.1.1.10. 表JBPM4_ID_MEMBERSHIP
表名 |
用户角色表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
|
|
DBVERSION_ |
NUMBER(10) |
N |
|
|
USER_ |
NUMBER(19) |
Y |
|
|
GROUP_ |
NUMBER(19) |
Y |
|
|
NAME_ |
VARCHAR2(255 CHAR) |
Y |
|
|
|
|
|
|
|
补充说明 |
|
|
1.1.1.11. 表JBPM4_ID_USER
表名 |
用户表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
|
|
DBVERSION_ |
NUMBER(10) |
N |
|
|
ID_ |
VARCHAR2(255 CHAR) |
Y |
|
|
PASSWORD_ |
VARCHAR2(255 CHAR) |
Y |
|
|
GIVENNAME_ |
VARCHAR2(255 CHAR) |
Y |
|
|
FAMILYNAME_ |
VARCHAR2(255 CHAR) |
Y |
|
|
BUSINESSEMAIL_ |
VARCHAR2(255 CHAR) |
Y |
|
|
|
|
|
|
|
补充说明 |
|
|
1.1.1.12. 表JBPM4_JOB
表名 |
定时表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
标识 |
CLASS_ |
VARCHAR2(255 CHAR) |
N |
|
版本 |
DBVERSION_ |
NUMBER(10) |
N |
|
|
DUEDATE_ |
TIMESTAMP(6) |
Y |
|
到期时间 |
STATE_ |
VARCHAR2(255 CHAR) |
Y |
|
状态 |
ISEXCLUSIVE_ |
NUMBER(1) |
Y |
|
是否可执行 |
LOCKOWNER_ |
VARCHAR2(255 CHAR) |
Y |
|
锁定的参与者 |
LOCKEXPTIME_ |
TIMESTAMP(6) |
Y |
|
锁定释放时间 |
EXCEPTION_ |
CLOB |
Y |
|
活动实例 |
RETRIES_ |
NUMBER(10) |
Y |
|
重复次数 |
PROCESSINSTANCE_ |
NUMBER(19) |
Y |
|
流程实例 |
EXECUTION_ |
NUMBER(19) |
Y |
|
异常信息 |
CFG_ |
NUMBER(19) |
Y |
FK(JBPM4_LOB, DBID_) |
配置 |
SIGNAL_ |
VARCHAR2(255 CHAR) |
Y |
|
信号 |
EVENT_ |
VARCHAR2(255 CHAR) |
Y |
|
事件 |
REPEAT_ |
VARCHAR2(255 CHAR) |
Y |
|
重复 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.13. 表JBPM4_LOB
表名 |
存储表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
主键 |
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
BLOB_VALUE_ |
BLOB |
Y |
|
流程定义文件(xml、img、class) |
DEPLOYMENT_ |
NUMBER(19) |
Y |
FK(JBPM4_DEPLOYMENT, DBID_) |
流程模版标识ID |
NAME_ |
CLOB |
Y |
|
流程定义文件名 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.14. 表JBPM4_PARTICIPATION
表名 |
参与者表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
标识 |
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
GROUPID_ |
VARCHAR2(255 CHAR) |
Y |
|
组ID |
USERID_ |
VARCHAR2(255 CHAR) |
Y |
|
用户ID |
TYPE_ |
VARCHAR2(255 CHAR) |
Y |
|
类型 |
TASK_ |
NUMBER(19) |
Y |
FK(JBPM4_SWIMLANE, DBID_) |
任务ID |
SWIMLANE_ |
NUMBER(19) |
Y |
FK(JBPM4_TASK,DBID_) |
对应泳道 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.15. 表JBPM4_PROPERTY
表名 |
序列表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
KEY_ |
VARCHAR2(255 CHAR) |
N |
|
|
VERSION_ |
NUMBER(10) |
N |
|
|
VALUE_ |
VARCHAR2(255 CHAR) |
Y |
|
|
|
|
|
|
|
补充说明 |
|
|
1.1.1.16. 表JBPM4_SWIMLANE
表名 |
泳道表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
标识 |
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
NAME_ |
VARCHAR2(255 CHAR) |
Y |
|
泳道名 |
ASSIGNEE_ |
VARCHAR2(255 CHAR) |
Y |
|
处理人 |
EXECUTION_ |
NUMBER(19) |
Y |
FK(JBPM4_EXECUTION, DBID_) |
活动实例 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.17. 表JBPM4_TASK
表名 |
任务表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
主键 |
CLASS_ |
CHAR(1 CHAR) |
N |
|
类型 |
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
NAME_ |
VARCHAR2(255 CHAR) |
Y |
|
活动节点名称 |
DESCR_ |
CLOB |
Y |
|
描述 |
STATE_ |
VARCHAR2(255 CHAR) |
Y |
|
状态 |
SUSPHISTSTATE_ |
VARCHAR2(255 CHAR) |
Y |
|
保存暂停之前状态 |
ASSIGNEE_ |
VARCHAR2(255 CHAR) |
Y |
|
处理人 |
FORM_ |
VARCHAR2(255 CHAR) |
Y |
|
表单地址 |
PRIORITY_ |
NUMBER(10) |
Y |
|
优先级 |
CREATE_ |
TIMESTAMP(6) |
Y |
|
创建时间 |
DUEDATE_ |
TIMESTAMP(6) |
Y |
|
任务持续时间,表明任务应在多长时间内完成 |
PROGRESS_ |
NUMBER(10) |
Y |
|
活动实例名 |
SIGNALLING_ |
NUMBER(1) |
Y |
|
签收 |
EXECUTION_ID_ |
VARCHAR2(255 CHAR) |
Y |
|
活动实例ID |
ACTIVITY_NAME_ |
VARCHAR2(255 CHAR) |
Y |
|
活动实例名称 |
HASVARS_ |
NUMBER(1) |
Y |
|
是否有流程变量 |
SUPERTASK_ |
NUMBER(19) |
Y |
FK(JBPM4_TASK, DBID_) |
父任务 |
EXECUTION_ |
NUMBER(19) |
Y |
|
活动实例 |
PROCINST_ |
NUMBER(19) |
Y |
|
流程实例 |
SWIMLANE_ |
NUMBER(19) |
Y |
FK(JBPM4_SWIMLANE, DBID_) |
对应的泳道 |
TASKDEFNAME_ |
VARCHAR2(255 CHAR) |
Y |
|
任务定义名 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.18. 表JBPM4_VARIABLE
表名 |
上下文表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
标识 |
CLASS_ |
VARCHAR2(255 CHAR) |
N |
|
版本 |
DBVERSION_ |
NUMBER(10) |
N |
|
变量类型 |
KEY_ |
VARCHAR2(255 CHAR) |
Y |
|
变量索引 |
CONVERTER_ |
VARCHAR2(255 CHAR) |
Y |
|
数值转换器 |
HIST_ |
NUMBER(1) |
Y |
|
对应的流程实例 |
EXECUTION_ |
NUMBER(19) |
Y |
FK(JBPM4_EXECUTION, DBID_) |
活动实例 |
TASK_ |
NUMBER(19) |
Y |
FK(JBPM4_TASK, DBID_) |
对应的任务 |
LOB_ |
NUMBER(19) |
Y |
FK(JBPM4_LOB, DBID_) |
|
DATE_VALUE_ |
TIMESTAMP(6) |
Y |
|
当值为date类型时,存值 |
DOUBLE_VALUE_ |
FLOAT |
Y |
|
当值为double类型时,存值 |
CLASSNAME_ |
VARCHAR2(255 CHAR) |
Y |
|
变量类名 |
LONG_VALUE_ |
NUMBER(19) |
Y |
|
当值为long类型时,存值 |
STRING_VALUE_ |
VARCHAR2(255 CHAR) |
Y |
|
当值为String类型时,存值 |
TEXT_VALUE_ |
CLOB |
Y |
|
当值为date类型时,存值 |
EXESYS_ |
NUMBER(19) |
Y |
FK(JBPM4_EXECUTION, DBID_) |
|
|
|
|
|
|
补充说明 |
|
|
流程定义相关的布署信息就存储在
(1)JBPM4_DEPLOYMENT、(2)JBPM4_DEPLOYPROP及(3)JBPM4_LOB中。上传一个包含png和jpdl.xml的zip包后,JBPM4_DEPLOYMENT多一条记录JBPM4_DEPLOYPROP多三条,JBPM4_LOB多两条。
(4)JBPM4_HIST_PROCINST与(5)JBPM4_HIST_ACTINST分别存放的是Process Instance、Activity Instance的历史记录。
(6)JBPM4_EXECUTION主要是存放JBPM4的执行信息,Execution机制代替了JBPM3的Token机制(详细参阅JBPM4的PVM机制,过段时间我也会进一步分析)。
(7)JBPM4_TASK存放需要人来完成的Activities,需要人来参与完成的Activity被称为Task。
(8)JBPM4_PARTICIPATION存放Participation的信息,Participation的种类有Candidate、Client、Owner、Replaced Assignee和Viewer。而具体的Participation既可以是单一用户,也可以是用户组。
(9)JBPM4_SWIMLANE。Swim Lane是一种Runtime Process Role。通过Swim Lane,多个Task可以一次分配到同一Actor身上。
(10)JBPM4_VARIABLE 存的是进行时的临时变量。
(11)JBPM4_HIST_DETAIL保存Variable的变更记录。
(12)JBPM4_HIST_VAR保存历史的变量。
(13)JBPM4_HIST_TASKTask的历史信息。
(14)JBPM4_ID_GROUP(15)JBPM_ID_MEMBERSHIP(16)JBPM4_ID_USER 这三张表很常见了,基本的权限控制,关于用户认证方面建议还是自己开发一套,JBPM4的功能太简单了,使用中有很多需要难以满足。
(17)JBPM4_JOB 存放的是Timer的定义。
整体说明:
JBPM4_DEPLOYMENT 流程定义表
JBPM4_DEPLOYPROP 流程定义属性表
JBPM4_EXECUTION 流程实例表
JBPM4_HIST_ACTINST 流程活动(节点)实例表
JBPM4_HIST_DETAIL 流程历史详细表
JBPM4_HIST_PROCINST流程实例历史表
JBPM4_HIST_TASK 流程任务实例历史表
JBPM4_HIST_VAR 流程变量(上下文)历史表
JBPM4_ID_GROUP 组表
JBPM4_ID_MEMBERSHIP 用户角色表
JBPM4_ID_USER 用户表
JBPM4_JOB 定时表
JBPM4_LOB 存储表
JBPM4_PARTICIPATION 参与者表
JBPM4_SWIMLANE 泳道表
JBPM4_TASK 任务表
JBPM4_VARIABLE 上下文表
红 色的表为经常使用的表.这里不使用JBPM自己的权限角色定义.
发布一个流程deploy后
jbpm4_deployment新增一条记录
jbpm4_deployprop新增三条记录
jbpm4_lob 新增一条记录
开始一个流程startProcessInstanceByKey后
jbpm4_execution新增一条记录
jbpm4_hist_actinst 新增一条记录
jbpm4_hist_procinst新增一条记录
jbpm4_hist_task新增一条记录
jbpm4_task 新增一条记录
流程定义相关的布署信息就存储在(1)JBPM4_DEPLOYMENT、(2)JBPM4_DEPLOYPROP及(3)JBPM4_LOB中。上传一个包含png和jpdl.xml的zip包后,JBPM4_DEPLOYMENT多一条记录 JBPM4_DEPLOYPROP 多三条, JBPM4_LOB多两条。
(4)JBPM4_HIST_PROCINST与(5)JBPM4_HIST_ACTINST分别存放的是Process Instance、Activity Instance的历史记录。
(6)JBPM4_EXECUTION主要是存放JBPM4的执行信息,Execution机制代替了JBPM3的Token机制(详细参阅JBPM4的PVM机制,过段时间我也会进一步分析)。
(7)JBPM4_TASK存放需要人来完成的Activities,需要人来参与完成的Activity 被称为Task。
(8)JBPM4_PARTICIPATION存放 Participation的信息,Participation的种类有Candidate、Client、Owner、Replaced Assignee和Viewer。而具体的Participation既可以是单一用户,也可以是用户组。
(9)JBPM4_SWIMLANE。Swim Lane是一种Runtime ProcessRole。通过Swim Lane,多个Task可以一次分配到同一Actor身上。
(10)JBPM4_VARIABLE存的是进行时的临时变量。
(11)JBPM4_HIST_DETAIL保存 Variable的变更记录。
(12)JBPM4_HIST_VAR保存历史的变量 。
(13)JBPM4_HIST_TASK Task的历史信息。
(14)JBPM4_ID_GROUP(15)JBPM_ID_MEMBERSHIP(16)JBPM4_ID_USER这三张表很常见了,基本的权限控制,关于用户认证方面建议还是自己开发一套,JBPM4的功能太简单了,使用中有很多需要难以满足。
(17)JBPM4_JOB存放的是Timer的定义。
(18)JBPM4_PROPERTY JBPM引擎参数表。
1.1.1.1. 表JBPM4_DEPLOYMENT
表名 |
流程定义表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
流程模版标识 |
NAME_ |
CLOB |
Y |
|
流程模版名称 |
TIMESTAMP_ |
NUMBER(19) |
Y |
|
时间戳 |
STATE_ |
VARCHAR2(255 CHAR) |
Y |
|
可用状态 |
补充说明 |
|
|
1.1.1.2. 表JBPM4_DEPLOYPROP
表名 |
流程定义属性表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
主键 |
DEPLOYMENT_ |
NUMBER(19) |
Y |
FK(JBPM4_DEPLOYMENT, DBID_) |
流程ID |
OBJNAME_ |
VARCHAR2(255 CHAR) |
Y |
|
流程名称 |
KEY_ |
VARCHAR2(255 CHAR) |
Y |
|
类型 |
STRINGVAL_ |
VARCHAR2(255 CHAR) |
Y |
|
类型是字符串时的值 |
LONGVAL_ |
NUMBER(19) |
Y |
|
类型是数值时的值 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.3. 表JBPM4_EXECUTION
表名 |
流程实例表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
流程实例ID |
CLASS_ |
VARCHAR2(255 CHAR) |
N |
|
类型 |
DBVERSION_ |
NUMBER(10) |
N |
|
步骤版本 |
ACTIVITYNAME_ |
VARCHAR2(255 CHAR) |
Y |
|
节点名称 |
PROCDEFID_ |
VARCHAR2(255 CHAR) |
Y |
|
流程定义ID |
HASVARS_ |
NUMBER(1) |
Y |
|
是否有变量值 |
NAME_ |
VARCHAR2(255 CHAR) |
Y |
|
名称 |
KEY_ |
VARCHAR2(255 CHAR) |
Y |
|
|
ID_ |
VARCHAR2(255 CHAR) |
Y |
UK |
令牌ID |
STATE_ |
VARCHAR2(255 CHAR) |
Y |
|
令牌状态 |
SUSPHISTSTATE_ |
VARCHAR2(255 CHAR) |
Y |
|
保存暂停之前状态 |
PRIORITY_ |
NUMBER(10) |
Y |
|
优先级 |
HISACTINST_ |
NUMBER(19) |
Y |
|
历史活动实例ID |
PARENT_ |
NUMBER(19) |
Y |
FK(JBPM4_EXECUTION, DBID_) |
父实例 |
INSTANCE_ |
NUMBER(19) |
Y |
FK(JBPM4_EXECUTION, DBID_) |
流程实例 |
SUPEREXEC_ |
NUMBER(19) |
Y |
FK(JBPM4_EXECUTION, DBID_) |
父令牌 |
SUBPROCINST_ |
NUMBER(19) |
Y |
FK(JBPM4_EXECUTION, DBID_) |
子流程实例 |
PARENT_IDX_ |
NUMBER(10) |
Y |
|
父实例序号 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.4. 表JBPM4_HIST_ACTINST
表名 |
流程活动(节点)实例表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
标识 |
CLASS_ |
VARCHAR2(255 CHAR) |
N |
|
activity类型 |
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
HPROCI_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_PROCINST, DBID_) |
历史流程实例 |
TYPE_ |
VARCHAR2(255 CHAR) |
Y |
|
活动实例类型 |
EXECUTION_ |
VARCHAR2(255 CHAR) |
Y |
|
令牌 |
ACTIVITY_NAME_ |
VARCHAR2(255 CHAR) |
Y |
|
活动实例名称 |
START_ |
TIMESTAMP(6) |
Y |
|
开始名称 |
END_ |
TIMESTAMP(6) |
Y |
|
结束时间 |
DURATION_ |
NUMBER(19) |
Y |
|
节点停留时间 |
TRANSITION_ |
VARCHAR2(255 CHAR) |
Y |
|
迁移路径 |
NEXTIDX_ |
NUMBER(10) |
Y |
|
|
HTASK_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_TASK, DBID_) |
对应的定义任务 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.5. 表JBPM4_HIST_DETAIL
表名 |
流程历史详细表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
流程模版标识 |
CLASS_ |
VARCHAR2(255 CHAR) |
N |
|
|
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
USERID_ |
VARCHAR2(255 CHAR) |
Y |
|
用户ID |
TIME_ |
TIMESTAMP(6) |
Y |
|
时间 |
HPROCI_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_PROCINST, DBID_) |
对应的历史流程实例 |
HPROCIIDX_ |
NUMBER(10) |
Y |
|
|
HACTI_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_ACTINST, DBID_) |
对应的历史活动实例ID |
HACTIIDX_ |
NUMBER(10) |
Y |
|
|
HTASK_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_TASK, DBID_) |
对应的任务 |
HTASKIDX_ |
NUMBER(10) |
Y |
|
|
HVAR_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_VAR, DBID_) |
对应的变量值 |
HVARIDX_ |
NUMBER(10) |
Y |
|
|
MESSAGE_ |
CLOB |
Y |
|
消息 |
OLD_STR_ |
VARCHAR2(255 CHAR) |
Y |
|
老的String类型的值 |
NEW_STR_ |
VARCHAR2(255 CHAR) |
Y |
|
新的String类型的值 |
OLD_INT_ |
NUMBER(10) |
Y |
|
|
NEW_INT_ |
NUMBER(10) |
Y |
|
|
OLD_TIME_ |
TIMESTAMP(6) |
Y |
|
|
NEW_TIME_ |
TIMESTAMP(6) |
Y |
|
|
PARENT_ |
NUMBER(19) |
Y |
|
变量的父变量 |
PARENT_IDX_ |
NUMBER(10) |
Y |
|
变量的父变量序号 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.6. 表JBPM4_HIST_PROCINST
表名 |
流程实例历史表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
标识 |
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
ID_ |
VARCHAR2(255 CHAR) |
Y |
|
|
PROCDEFID_ |
VARCHAR2(255 CHAR) |
Y |
|
流程定义ID |
KEY_ |
VARCHAR2(255 CHAR) |
Y |
|
|
START_ |
TIMESTAMP(6) |
Y |
|
开始时间 |
END_ |
TIMESTAMP(6) |
Y |
|
结束时间 |
DURATION_ |
NUMBER(19) |
Y |
|
停留时间 |
STATE_ |
VARCHAR2(255 CHAR) |
Y |
|
流程实例状态(活动,完成) |
ENDACTIVITY_ |
VARCHAR2(255 CHAR) |
Y |
|
是否完成 |
NEXTIDX_ |
NUMBER(10) |
Y |
|
|
|
|
|
|
|
补充说明 |
|
|
1.1.1.7. 表JBPM4_HIST_TASK
表名 |
流程任务实例历史表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
标识 |
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
EXECUTION_ |
VARCHAR2(255 CHAR) |
Y |
|
令牌 |
OUTCOME_ |
VARCHAR2(255 CHAR) |
Y |
|
路径名称 |
ASSIGNEE_ |
VARCHAR2(255 CHAR) |
Y |
|
处理人 |
PRIORITY_ |
NUMBER(10) |
Y |
|
优先级 |
STATE_ |
VARCHAR2(255 CHAR) |
Y |
|
完成情况 |
CREATE_ |
TIMESTAMP(6) |
Y |
|
创建时间 |
END_ |
TIMESTAMP(6) |
Y |
|
完成时间 |
DURATION_ |
NUMBER(19) |
Y |
|
任务节点停留时间 |
NEXTIDX_ |
NUMBER(10) |
Y |
|
|
SUPERTASK_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_TASK, DBID_) |
父任务 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.8. 表JBPM4_HIST_VAR
表名 |
流程变量(上下文)历史表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
流程模版标识 |
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
PROCINSTID_ |
VARCHAR2(255 CHAR) |
Y |
|
对应运行的流程实例 |
EXECUTIONID_ |
VARCHAR2(255 CHAR) |
Y |
|
活动实例ID |
VARNAME_ |
VARCHAR2(255 CHAR) |
Y |
|
变量名称 |
VALUE_ |
VARCHAR2(255 CHAR) |
Y |
|
值 |
HPROCI_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_PROCINST, DBID_) |
历史流程实例 |
HTASK_ |
NUMBER(19) |
Y |
FK(JBPM4_HIST_TASK, DBID_) |
历史任务 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.9. 表JBPM4_ID_GROUP
表名 |
组表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
|
|
DBVERSION_ |
NUMBER(10) |
N |
|
|
ID_ |
VARCHAR2(255 CHAR) |
Y |
|
|
NAME_ |
VARCHAR2(255 CHAR) |
Y |
|
|
TYPE_ |
VARCHAR2(255 CHAR) |
Y |
|
|
PARENT_ |
NUMBER(19) |
Y |
|
|
|
|
|
|
|
补充说明 |
|
|
1.1.1.10. 表JBPM4_ID_MEMBERSHIP
表名 |
用户角色表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
|
|
DBVERSION_ |
NUMBER(10) |
N |
|
|
USER_ |
NUMBER(19) |
Y |
|
|
GROUP_ |
NUMBER(19) |
Y |
|
|
NAME_ |
VARCHAR2(255 CHAR) |
Y |
|
|
|
|
|
|
|
补充说明 |
|
|
1.1.1.11. 表JBPM4_ID_USER
表名 |
用户表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
|
|
DBVERSION_ |
NUMBER(10) |
N |
|
|
ID_ |
VARCHAR2(255 CHAR) |
Y |
|
|
PASSWORD_ |
VARCHAR2(255 CHAR) |
Y |
|
|
GIVENNAME_ |
VARCHAR2(255 CHAR) |
Y |
|
|
FAMILYNAME_ |
VARCHAR2(255 CHAR) |
Y |
|
|
BUSINESSEMAIL_ |
VARCHAR2(255 CHAR) |
Y |
|
|
|
|
|
|
|
补充说明 |
|
|
1.1.1.12. 表JBPM4_JOB
表名 |
定时表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
标识 |
CLASS_ |
VARCHAR2(255 CHAR) |
N |
|
版本 |
DBVERSION_ |
NUMBER(10) |
N |
|
|
DUEDATE_ |
TIMESTAMP(6) |
Y |
|
到期时间 |
STATE_ |
VARCHAR2(255 CHAR) |
Y |
|
状态 |
ISEXCLUSIVE_ |
NUMBER(1) |
Y |
|
是否可执行 |
LOCKOWNER_ |
VARCHAR2(255 CHAR) |
Y |
|
锁定的参与者 |
LOCKEXPTIME_ |
TIMESTAMP(6) |
Y |
|
锁定释放时间 |
EXCEPTION_ |
CLOB |
Y |
|
活动实例 |
RETRIES_ |
NUMBER(10) |
Y |
|
重复次数 |
PROCESSINSTANCE_ |
NUMBER(19) |
Y |
|
流程实例 |
EXECUTION_ |
NUMBER(19) |
Y |
|
异常信息 |
CFG_ |
NUMBER(19) |
Y |
FK(JBPM4_LOB, DBID_) |
配置 |
SIGNAL_ |
VARCHAR2(255 CHAR) |
Y |
|
信号 |
EVENT_ |
VARCHAR2(255 CHAR) |
Y |
|
事件 |
REPEAT_ |
VARCHAR2(255 CHAR) |
Y |
|
重复 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.13. 表JBPM4_LOB
表名 |
存储表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
主键 |
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
BLOB_VALUE_ |
BLOB |
Y |
|
流程定义文件(xml、img、class) |
DEPLOYMENT_ |
NUMBER(19) |
Y |
FK(JBPM4_DEPLOYMENT, DBID_) |
流程模版标识ID |
NAME_ |
CLOB |
Y |
|
流程定义文件名 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.14. 表JBPM4_PARTICIPATION
表名 |
参与者表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
标识 |
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
GROUPID_ |
VARCHAR2(255 CHAR) |
Y |
|
组ID |
USERID_ |
VARCHAR2(255 CHAR) |
Y |
|
用户ID |
TYPE_ |
VARCHAR2(255 CHAR) |
Y |
|
类型 |
TASK_ |
NUMBER(19) |
Y |
FK(JBPM4_SWIMLANE, DBID_) |
任务ID |
SWIMLANE_ |
NUMBER(19) |
Y |
FK(JBPM4_TASK,DBID_) |
对应泳道 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.15. 表JBPM4_PROPERTY
表名 |
序列表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
KEY_ |
VARCHAR2(255 CHAR) |
N |
|
|
VERSION_ |
NUMBER(10) |
N |
|
|
VALUE_ |
VARCHAR2(255 CHAR) |
Y |
|
|
|
|
|
|
|
补充说明 |
|
|
1.1.1.16. 表JBPM4_SWIMLANE
表名 |
泳道表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
标识 |
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
NAME_ |
VARCHAR2(255 CHAR) |
Y |
|
泳道名 |
ASSIGNEE_ |
VARCHAR2(255 CHAR) |
Y |
|
处理人 |
EXECUTION_ |
NUMBER(19) |
Y |
FK(JBPM4_EXECUTION, DBID_) |
活动实例 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.17. 表JBPM4_TASK
表名 |
任务表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
主键 |
CLASS_ |
CHAR(1 CHAR) |
N |
|
类型 |
DBVERSION_ |
NUMBER(10) |
N |
|
版本 |
NAME_ |
VARCHAR2(255 CHAR) |
Y |
|
活动节点名称 |
DESCR_ |
CLOB |
Y |
|
描述 |
STATE_ |
VARCHAR2(255 CHAR) |
Y |
|
状态 |
SUSPHISTSTATE_ |
VARCHAR2(255 CHAR) |
Y |
|
保存暂停之前状态 |
ASSIGNEE_ |
VARCHAR2(255 CHAR) |
Y |
|
处理人 |
FORM_ |
VARCHAR2(255 CHAR) |
Y |
|
表单地址 |
PRIORITY_ |
NUMBER(10) |
Y |
|
优先级 |
CREATE_ |
TIMESTAMP(6) |
Y |
|
创建时间 |
DUEDATE_ |
TIMESTAMP(6) |
Y |
|
任务持续时间,表明任务应在多长时间内完成 |
PROGRESS_ |
NUMBER(10) |
Y |
|
活动实例名 |
SIGNALLING_ |
NUMBER(1) |
Y |
|
签收 |
EXECUTION_ID_ |
VARCHAR2(255 CHAR) |
Y |
|
活动实例ID |
ACTIVITY_NAME_ |
VARCHAR2(255 CHAR) |
Y |
|
活动实例名称 |
HASVARS_ |
NUMBER(1) |
Y |
|
是否有流程变量 |
SUPERTASK_ |
NUMBER(19) |
Y |
FK(JBPM4_TASK, DBID_) |
父任务 |
EXECUTION_ |
NUMBER(19) |
Y |
|
活动实例 |
PROCINST_ |
NUMBER(19) |
Y |
|
流程实例 |
SWIMLANE_ |
NUMBER(19) |
Y |
FK(JBPM4_SWIMLANE, DBID_) |
对应的泳道 |
TASKDEFNAME_ |
VARCHAR2(255 CHAR) |
Y |
|
任务定义名 |
|
|
|
|
|
补充说明 |
|
|
1.1.1.18. 表JBPM4_VARIABLE
表名 |
上下文表 |
|||
列名 |
数据类型(精度范围) |
空/非空 |
约束条件 |
中文名 |
DBID_ |
NUMBER(19) |
N |
PK |
标识 |
CLASS_ |
VARCHAR2(255 CHAR) |
N |
|
版本 |
DBVERSION_ |
NUMBER(10) |
N |
|
变量类型 |
KEY_ |
VARCHAR2(255 CHAR) |
Y |
|
变量索引 |
CONVERTER_ |
VARCHAR2(255 CHAR) |
Y |
|
数值转换器 |
HIST_ |
NUMBER(1) |
Y |
|
对应的流程实例 |
EXECUTION_ |
NUMBER(19) |
Y |
FK(JBPM4_EXECUTION, DBID_) |
活动实例 |
TASK_ |
NUMBER(19) |
Y |
FK(JBPM4_TASK, DBID_) |
对应的任务 |
LOB_ |
NUMBER(19) |
Y |
FK(JBPM4_LOB, DBID_) |
|
DATE_VALUE_ |
TIMESTAMP(6) |
Y |
|
当值为date类型时,存值 |
DOUBLE_VALUE_ |
FLOAT |
Y |
|
当值为double类型时,存值 |
CLASSNAME_ |
VARCHAR2(255 CHAR) |
Y |
|
变量类名 |
LONG_VALUE_ |
NUMBER(19) |
Y |
|
当值为long类型时,存值 |
STRING_VALUE_ |
VARCHAR2(255 CHAR) |
Y |
|
当值为String类型时,存值 |
TEXT_VALUE_ |
CLOB |
Y |
|
当值为date类型时,存值 |
EXESYS_ |
NUMBER(19) |
Y |
FK(JBPM4_EXECUTION, DBID_) |
|
|
|
|
|
|
补充说明 |
|
|
流程定义相关的布署信息就存储在
(1)JBPM4_DEPLOYMENT、(2)JBPM4_DEPLOYPROP及(3)JBPM4_LOB中。上传一个包含png和jpdl.xml的zip包后,JBPM4_DEPLOYMENT多一条记录JBPM4_DEPLOYPROP多三条,JBPM4_LOB多两条。
(4)JBPM4_HIST_PROCINST与(5)JBPM4_HIST_ACTINST分别存放的是Process Instance、Activity Instance的历史记录。
(6)JBPM4_EXECUTION主要是存放JBPM4的执行信息,Execution机制代替了JBPM3的Token机制(详细参阅JBPM4的PVM机制,过段时间我也会进一步分析)。
(7)JBPM4_TASK存放需要人来完成的Activities,需要人来参与完成的Activity被称为Task。
(8)JBPM4_PARTICIPATION存放Participation的信息,Participation的种类有Candidate、Client、Owner、Replaced Assignee和Viewer。而具体的Participation既可以是单一用户,也可以是用户组。
(9)JBPM4_SWIMLANE。Swim Lane是一种Runtime Process Role。通过Swim Lane,多个Task可以一次分配到同一Actor身上。
(10)JBPM4_VARIABLE 存的是进行时的临时变量。
(11)JBPM4_HIST_DETAIL保存Variable的变更记录。
(12)JBPM4_HIST_VAR保存历史的变量。
(13)JBPM4_HIST_TASKTask的历史信息。
(14)JBPM4_ID_GROUP(15)JBPM_ID_MEMBERSHIP(16)JBPM4_ID_USER 这三张表很常见了,基本的权限控制,关于用户认证方面建议还是自己开发一套,JBPM4的功能太简单了,使用中有很多需要难以满足。
(17)JBPM4_JOB 存放的是Timer的定义。