文章目录
- ☃️4.1 建表
- ☃️4.2 数据库逻辑关系
- 4.2.1 资源库与运行时的表
- 4.2.2 历史数据表
- ☃️4.3 表结构
- ☃️4.4 流程操作与数表交互说明

☃️4.1 建表
该系统自带18张表,用于支撑该系统的逻辑与流程业务;
建表语句如下:
create database jbpmdb;
use jbpmdb;
DROP TABLE IF EXISTS `jbpm4_deployment`;
CREATE TABLE IF NOT EXISTS `jbpm4_deployment` (
`DBID_` bigint(20) NOT NULL,
`NAME_` longtext,
`TIMESTAMP_` bigint(20) DEFAULT NULL,
`STATE_` varchar(255) DEFAULT NULL,
PRIMARY KEY (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_deployprop`;
CREATE TABLE IF NOT EXISTS `jbpm4_deployprop` (
`DBID_` bigint(20) NOT NULL,
`DEPLOYMENT_` bigint(20) DEFAULT NULL,
`OBJNAME_` varchar(255) DEFAULT NULL,
`KEY_` varchar(255) DEFAULT NULL,
`STRINGVAL_` varchar(255) DEFAULT NULL,
`LONGVAL_` bigint(20) DEFAULT NULL,
PRIMARY KEY (`DBID_`),
KEY `IDX_DEPLPROP_DEPL` (`DEPLOYMENT_`),
KEY `FK_DEPLPROP_DEPL` (`DEPLOYMENT_`),
CONSTRAINT `FK_DEPLPROP_DEPL` FOREIGN KEY (`DEPLOYMENT_`) REFERENCES `jbpm4_deployment` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_execution`;
CREATE TABLE IF NOT EXISTS `jbpm4_execution` (
`DBID_` bigint(20) NOT NULL,
`CLASS_` varchar(255) NOT NULL,
`DBVERSION_` int(11) NOT NULL,
`ACTIVITYNAME_` varchar(255) DEFAULT NULL,
`PROCDEFID_` varchar(255) DEFAULT NULL,
`HASVARS_` bit(1) DEFAULT NULL,
`NAME_` varchar(255) DEFAULT NULL,
`KEY_` varchar(255) DEFAULT NULL,
`ID_` varchar(255) DEFAULT NULL,
`STATE_` varchar(255) DEFAULT NULL,
`SUSPHISTSTATE_` varchar(255) DEFAULT NULL,
`PRIORITY_` int(11) DEFAULT NULL,
`HISACTINST_` bigint(20) DEFAULT NULL,
`PARENT_` bigint(20) DEFAULT NULL,
`INSTANCE_` bigint(20) DEFAULT NULL,
`SUPEREXEC_` bigint(20) DEFAULT NULL,
`SUBPROCINST_` bigint(20) DEFAULT NULL,
`PARENT_IDX_` int(11) DEFAULT NULL,
PRIMARY KEY (`DBID_`),
UNIQUE KEY `ID_` (`ID_`),
KEY `IDX_EXEC_SUPEREXEC` (`SUPEREXEC_`),
KEY `IDX_EXEC_INSTANCE` (`INSTANCE_`),
KEY `IDX_EXEC_SUBPI` (`SUBPROCINST_`),
KEY `IDX_EXEC_PARENT` (`PARENT_`),
KEY `FK_EXEC_PARENT` (`PARENT_`),
KEY `FK_EXEC_SUBPI` (`SUBPROCINST_`),
KEY `FK_EXEC_INSTANCE` (`INSTANCE_`),
KEY `FK_EXEC_SUPEREXEC` (`SUPEREXEC_`),
CONSTRAINT `FK_EXEC_INSTANCE` FOREIGN KEY (`INSTANCE_`) REFERENCES `jbpm4_execution` (`DBID_`),
CONSTRAINT `FK_EXEC_PARENT` FOREIGN KEY (`PARENT_`) REFERENCES `jbpm4_execution` (`DBID_`),
CONSTRAINT `FK_EXEC_SUBPI` FOREIGN KEY (`SUBPROCINST_`) REFERENCES `jbpm4_execution` (`DBID_`),
CONSTRAINT `FK_EXEC_SUPEREXEC` FOREIGN KEY (`SUPEREXEC_`) REFERENCES `jbpm4_execution` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_hist_actinst`;
CREATE TABLE IF NOT EXISTS `jbpm4_hist_actinst` (
`DBID_` bigint(20) NOT NULL,
`CLASS_` varchar(255) NOT NULL,
`DBVERSION_` int(11) NOT NULL,
`HPROCI_` bigint(20) DEFAULT NULL,
`engine_` varchar(255) DEFAULT NULL,
`EXECUTION_` varchar(255) DEFAULT NULL,
`ACTIVITY_NAME_` varchar(255) DEFAULT NULL,
`START_` datetime DEFAULT NULL,
`END_` datetime DEFAULT NULL,
`DURATION_` bigint(20) DEFAULT NULL,
`TRANSITION_` varchar(255) DEFAULT NULL,
`NEXTIDX_` int(11) DEFAULT NULL,
`HTASK_` bigint(20) DEFAULT NULL,
`TYPE_` varchar(255) DEFAULT NULL,
PRIMARY KEY (`DBID_`),
KEY `IDX_HACTI_HPROCI` (`HPROCI_`),
KEY `IDX_HTI_HTASK` (`HTASK_`),
KEY `FK_HACTI_HPROCI` (`HPROCI_`),
KEY `FK_HTI_HTASK` (`HTASK_`),
CONSTRAINT `FK_HACTI_HPROCI` FOREIGN KEY (`HPROCI_`) REFERENCES `jbpm4_hist_procinst` (`DBID_`),
CONSTRAINT `FK_HTI_HTASK` FOREIGN KEY (`HTASK_`) REFERENCES `jbpm4_hist_task` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_hist_detail`;
CREATE TABLE IF NOT EXISTS `jbpm4_hist_detail` (
`DBID_` bigint(20) NOT NULL,
`CLASS_` varchar(255) NOT NULL,
`DBVERSION_` int(11) NOT NULL,
`USERID_` varchar(255) DEFAULT NULL,
`TIME_` datetime DEFAULT NULL,
`HPROCI_` bigint(20) DEFAULT NULL,
`HPROCIIDX_` int(11) DEFAULT NULL,
`HACTI_` bigint(20) DEFAULT NULL,
`HACTIIDX_` int(11) DEFAULT NULL,
`HTASK_` bigint(20) DEFAULT NULL,
`HTASKIDX_` int(11) DEFAULT NULL,
`HVAR_` bigint(20) DEFAULT NULL,
`HVARIDX_` int(11) DEFAULT NULL,
`MESSAGE_` longtext,
`OLD_STR_` varchar(255) DEFAULT NULL,
`NEW_STR_` varchar(255) DEFAULT NULL,
`OLD_INT_` int(11) DEFAULT NULL,
`NEW_INT_` int(11) DEFAULT NULL,
`OLD_TIME_` datetime DEFAULT NULL,
`NEW_TIME_` datetime DEFAULT NULL,
`PARENT_` bigint(20) DEFAULT NULL,
`PARENT_IDX_` int(11) DEFAULT NULL,
PRIMARY KEY (`DBID_`),
KEY `IDX_HDET_HACTI` (`HACTI_`),
KEY `IDX_HDET_HPROCI` (`HPROCI_`),
KEY `IDX_HDET_HVAR` (`HVAR_`),
KEY `IDX_HDET_HTASK` (`HTASK_`),
KEY `FK_HDETAIL_HPROCI` (`HPROCI_`),
KEY `FK_HDETAIL_HACTI` (`HACTI_`),
KEY `FK_HDETAIL_HTASK` (`HTASK_`),
KEY `FK_HDETAIL_HVAR` (`HVAR_`),
CONSTRAINT `FK_HDETAIL_HACTI` FOREIGN KEY (`HACTI_`) REFERENCES `jbpm4_hist_actinst` (`DBID_`),
CONSTRAINT `FK_HDETAIL_HPROCI` FOREIGN KEY (`HPROCI_`) REFERENCES `jbpm4_hist_procinst` (`DBID_`),
CONSTRAINT `FK_HDETAIL_HTASK` FOREIGN KEY (`HTASK_`) REFERENCES `jbpm4_hist_task` (`DBID_`),
CONSTRAINT `FK_HDETAIL_HVAR` FOREIGN KEY (`HVAR_`) REFERENCES `jbpm4_hist_var` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_hist_procinst`;
CREATE TABLE IF NOT EXISTS `jbpm4_hist_procinst` (
`DBID_` bigint(20) NOT NULL,
`DBVERSION_` int(11) NOT NULL,
`ID_` varchar(255) DEFAULT NULL,
`PROCDEFID_` varchar(255) DEFAULT NULL,
`KEY_` varchar(255) DEFAULT NULL,
`START_` datetime DEFAULT NULL,
`END_` datetime DEFAULT NULL,
`DURATION_` bigint(20) DEFAULT NULL,
`STATE_` varchar(255) DEFAULT NULL,
`ENDACTIVITY_` varchar(255) DEFAULT NULL,
`NEXTIDX_` int(11) DEFAULT NULL,
PRIMARY KEY (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_hist_task`;
CREATE TABLE IF NOT EXISTS `jbpm4_hist_task` (
`DBID_` bigint(20) NOT NULL,
`DBVERSION_` int(11) NOT NULL,
`EXECUTION_` varchar(255) DEFAULT NULL,
`OUTCOME_` varchar(255) DEFAULT NULL,
`ASSIGNEE_` varchar(255) DEFAULT NULL,
`PRIORITY_` int(11) DEFAULT NULL,
`STATE_` varchar(255) DEFAULT NULL,
`CREATE_` datetime DEFAULT NULL,
`END_` datetime DEFAULT NULL,
`DURATION_` bigint(20) DEFAULT NULL,
`NEXTIDX_` int(11) DEFAULT NULL,
`SUPERTASK_` bigint(20) DEFAULT NULL,
PRIMARY KEY (`DBID_`),
KEY `IDX_HSUPERT_SUB` (`SUPERTASK_`),
KEY `FK_HSUPERT_SUB` (`SUPERTASK_`),
CONSTRAINT `FK_HSUPERT_SUB` FOREIGN KEY (`SUPERTASK_`) REFERENCES `jbpm4_hist_task` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_hist_var`;
CREATE TABLE IF NOT EXISTS `jbpm4_hist_var` (
`DBID_` bigint(20) NOT NULL,
`DBVERSION_` int(11) NOT NULL,
`PROCINSTID_` varchar(255) DEFAULT NULL,
`EXECUTIONID_` varchar(255) DEFAULT NULL,
`VARNAME_` varchar(255) DEFAULT NULL,
`VALUE_` varchar(255) DEFAULT NULL,
`HPROCI_` bigint(20) DEFAULT NULL,
`HTASK_` bigint(20) DEFAULT NULL,
PRIMARY KEY (`DBID_`),
KEY `IDX_HVAR_HPROCI` (`HPROCI_`),
KEY `IDX_HVAR_HTASK` (`HTASK_`),
KEY `FK_HVAR_HPROCI` (`HPROCI_`),
KEY `FK_HVAR_HTASK` (`HTASK_`),
CONSTRAINT `FK_HVAR_HPROCI` FOREIGN KEY (`HPROCI_`) REFERENCES `jbpm4_hist_procinst` (`DBID_`),
CONSTRAINT `FK_HVAR_HTASK` FOREIGN KEY (`HTASK_`) REFERENCES `jbpm4_hist_task` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_id_group`;
CREATE TABLE IF NOT EXISTS `jbpm4_id_group` (
`DBID_` bigint(20) NOT NULL,
`DBVERSION_` int(11) NOT NULL,
`ID_` varchar(255) DEFAULT NULL,
`NAME_` varchar(255) DEFAULT NULL,
`engine_` varchar(255) DEFAULT NULL,
`PARENT_` bigint(20) DEFAULT NULL,
`TYPE_` varchar(255) DEFAULT NULL,
PRIMARY KEY (`DBID_`),
KEY `IDX_GROUP_PARENT` (`PARENT_`),
KEY `FK_GROUP_PARENT` (`PARENT_`),
CONSTRAINT `FK_GROUP_PARENT` FOREIGN KEY (`PARENT_`) REFERENCES `jbpm4_id_group` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_id_membership`;
CREATE TABLE IF NOT EXISTS `jbpm4_id_membership` (
`DBID_` bigint(20) NOT NULL,
`DBVERSION_` int(11) NOT NULL,
`USER_` bigint(20) DEFAULT NULL,
`GROUP_` bigint(20) DEFAULT NULL,
`NAME_` varchar(255) DEFAULT NULL,
PRIMARY KEY (`DBID_`),
KEY `IDX_MEM_USER` (`USER_`),
KEY `IDX_MEM_GROUP` (`GROUP_`),
KEY `FK_MEM_GROUP` (`GROUP_`),
KEY `FK_MEM_USER` (`USER_`),
CONSTRAINT `FK_MEM_GROUP` FOREIGN KEY (`GROUP_`) REFERENCES `jbpm4_id_group` (`DBID_`),
CONSTRAINT `FK_MEM_USER` FOREIGN KEY (`USER_`) REFERENCES `jbpm4_id_user` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_id_user`;
CREATE TABLE IF NOT EXISTS `jbpm4_id_user` (
`DBID_` bigint(20) NOT NULL,
`DBVERSION_` int(11) NOT NULL,
`ID_` varchar(255) DEFAULT NULL,
`PASSWORD_` varchar(255) DEFAULT NULL,
`GIVENNAME_` varchar(255) DEFAULT NULL,
`FAMILYNAME_` varchar(255) DEFAULT NULL,
`BUSINESSEMAIL_` varchar(255) DEFAULT NULL,
PRIMARY KEY (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_job`;
CREATE TABLE IF NOT EXISTS `jbpm4_job` (
`DBID_` bigint(20) NOT NULL,
`CLASS_` varchar(255) NOT NULL,
`DBVERSION_` int(11) NOT NULL,
`DUEDATE_` datetime DEFAULT NULL,
`STATE_` varchar(255) DEFAULT NULL,
`ISEXCLUSIVE_` bit(1) DEFAULT NULL,
`LOCKOWNER_` varchar(255) DEFAULT NULL,
`LOCKEXPTIME_` datetime DEFAULT NULL,
`EXCEPTION_` longtext,
`RETRIES_` int(11) DEFAULT NULL,
`PROCESSINSTANCE_` bigint(20) DEFAULT NULL,
`EXECUTION_` bigint(20) DEFAULT NULL,
`CFG_` bigint(20) DEFAULT NULL,
`SIGNAL_` varchar(255) DEFAULT NULL,
`EVENT_` varchar(255) DEFAULT NULL,
`REPEAT_` varchar(255) DEFAULT NULL,
PRIMARY KEY (`DBID_`),
KEY `IDX_JOBRETRIES` (`RETRIES_`),
KEY `IDX_JOB_CFG` (`CFG_`),
KEY `IDX_JOB_PRINST` (`PROCESSINSTANCE_`),
KEY `IDX_JOB_EXE` (`EXECUTION_`),
KEY `IDX_JOBLOCKEXP` (`LOCKEXPTIME_`),
KEY `IDX_JOBDUEDATE` (`DUEDATE_`),
KEY `FK_JOB_CFG` (`CFG_`),
CONSTRAINT `FK_JOB_CFG` FOREIGN KEY (`CFG_`) REFERENCES `jbpm4_lob` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_lob`;
CREATE TABLE IF NOT EXISTS `jbpm4_lob` (
`DBID_` bigint(20) NOT NULL,
`DBVERSION_` int(11) NOT NULL,
`BLOB_VALUE_` longblob,
`DEPLOYMENT_` bigint(20) DEFAULT NULL,
`NAME_` longtext,
PRIMARY KEY (`DBID_`),
KEY `IDX_LOB_DEPLOYMENT` (`DEPLOYMENT_`),
KEY `FK_LOB_DEPLOYMENT` (`DEPLOYMENT_`),
CONSTRAINT `FK_LOB_DEPLOYMENT` FOREIGN KEY (`DEPLOYMENT_`) REFERENCES `jbpm4_deployment` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_participation`;
CREATE TABLE IF NOT EXISTS `jbpm4_participation` (
`DBID_` bigint(20) NOT NULL,
`DBVERSION_` int(11) NOT NULL,
`GROUPID_` varchar(255) DEFAULT NULL,
`USERID_` varchar(255) DEFAULT NULL,
`engine_` varchar(255) DEFAULT NULL,
`TASK_` bigint(20) DEFAULT NULL,
`SWIMLANE_` bigint(20) DEFAULT NULL,
`TYPE_` varchar(255) DEFAULT NULL,
PRIMARY KEY (`DBID_`),
KEY `IDX_PART_TASK` (`TASK_`),
KEY `FK_PART_SWIMLANE` (`SWIMLANE_`),
KEY `FK_PART_TASK` (`TASK_`),
CONSTRAINT `FK_PART_SWIMLANE` FOREIGN KEY (`SWIMLANE_`) REFERENCES `jbpm4_swimlane` (`DBID_`),
CONSTRAINT `FK_PART_TASK` FOREIGN KEY (`TASK_`) REFERENCES `jbpm4_task` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_property`;
CREATE TABLE IF NOT EXISTS `jbpm4_property` (
`KEY_` varchar(255) NOT NULL,
`VERSION_` int(11) NOT NULL,
`VALUE_` varchar(255) DEFAULT NULL,
PRIMARY KEY (`KEY_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_swimlane`;
CREATE TABLE IF NOT EXISTS `jbpm4_swimlane` (
`DBID_` bigint(20) NOT NULL,
`DBVERSION_` int(11) NOT NULL,
`NAME_` varchar(255) DEFAULT NULL,
`ASSIGNEE_` varchar(255) DEFAULT NULL,
`EXECUTION_` bigint(20) DEFAULT NULL,
PRIMARY KEY (`DBID_`),
KEY `IDX_SWIMLANE_EXEC` (`EXECUTION_`),
KEY `FK_SWIMLANE_EXEC` (`EXECUTION_`),
CONSTRAINT `FK_SWIMLANE_EXEC` FOREIGN KEY (`EXECUTION_`) REFERENCES `jbpm4_execution` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_task`;
CREATE TABLE IF NOT EXISTS `jbpm4_task` (
`DBID_` bigint(20) NOT NULL,
`CLASS_` char(1) NOT NULL,
`DBVERSION_` int(11) NOT NULL,
`NAME_` varchar(255) DEFAULT NULL,
`DESCR_` longtext,
`STATE_` varchar(255) DEFAULT NULL,
`SUSPHISTSTATE_` varchar(255) DEFAULT NULL,
`ASSIGNEE_` varchar(255) DEFAULT NULL,
`FORM_` varchar(255) DEFAULT NULL,
`PRIORITY_` int(11) DEFAULT NULL,
`CREATE_` datetime DEFAULT NULL,
`DUEDATE_` datetime DEFAULT NULL,
`PROGRESS_` int(11) DEFAULT NULL,
`SIGNALLING_` bit(1) DEFAULT NULL,
`EXECUTION_ID_` varchar(255) DEFAULT NULL,
`ACTIVITY_NAME_` varchar(255) DEFAULT NULL,
`HASVARS_` bit(1) DEFAULT NULL,
`SUPERTASK_` bigint(20) DEFAULT NULL,
`EXECUTION_` bigint(20) DEFAULT NULL,
`PROCINST_` bigint(20) DEFAULT NULL,
`SWIMLANE_` bigint(20) DEFAULT NULL,
`TASKDEFNAME_` varchar(255) DEFAULT NULL,
PRIMARY KEY (`DBID_`),
KEY `IDX_TASK_SUPERTASK` (`SUPERTASK_`),
KEY `FK_TASK_SWIML` (`SWIMLANE_`),
KEY `FK_TASK_SUPERTASK` (`SUPERTASK_`),
CONSTRAINT `FK_TASK_SUPERTASK` FOREIGN KEY (`SUPERTASK_`) REFERENCES `jbpm4_task` (`DBID_`),
CONSTRAINT `FK_TASK_SWIML` FOREIGN KEY (`SWIMLANE_`) REFERENCES `jbpm4_swimlane` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_variable`;
CREATE TABLE IF NOT EXISTS `jbpm4_variable` (
`DBID_` bigint(20) NOT NULL,
`CLASS_` varchar(255) NOT NULL,
`DBVERSION_` int(11) NOT NULL,
`KEY_` varchar(255) DEFAULT NULL,
`CONVERTER_` varchar(255) DEFAULT NULL,
`HIST_` bit(1) DEFAULT NULL,
`EXECUTION_` bigint(20) DEFAULT NULL,
`TASK_` bigint(20) DEFAULT NULL,
`LOB_` bigint(20) DEFAULT NULL,
`DATE_VALUE_` datetime DEFAULT NULL,
`DOUBLE_VALUE_` double DEFAULT NULL,
`CLASSNAME_` varchar(255) DEFAULT NULL,
`LONG_VALUE_` bigint(20) DEFAULT NULL,
`STRING_VALUE_` varchar(255) DEFAULT NULL,
`TEXT_VALUE_` longtext,
`EXESYS_` bigint(20) DEFAULT NULL,
PRIMARY KEY (`DBID_`),
KEY `IDX_VAR_EXESYS` (`EXESYS_`),
KEY `IDX_VAR_TASK` (`TASK_`),
KEY `IDX_VAR_EXECUTION` (`EXECUTION_`),
KEY `IDX_VAR_LOB` (`LOB_`),
KEY `FK_VAR_LOB` (`LOB_`),
KEY `FK_VAR_EXECUTION` (`EXECUTION_`),
KEY `FK_VAR_EXESYS` (`EXESYS_`),
KEY `FK_VAR_TASK` (`TASK_`),
CONSTRAINT `FK_VAR_EXECUTION` FOREIGN KEY (`EXECUTION_`) REFERENCES `jbpm4_execution` (`DBID_`),
CONSTRAINT `FK_VAR_EXESYS` FOREIGN KEY (`EXESYS_`) REFERENCES `jbpm4_execution` (`DBID_`),
CONSTRAINT `FK_VAR_LOB` FOREIGN KEY (`LOB_`) REFERENCES `jbpm4_lob` (`DBID_`),
CONSTRAINT `FK_VAR_TASK` FOREIGN KEY (`TASK_`) REFERENCES `jbpm4_task` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
☃️4.2 数据库逻辑关系
18张表简介:

4.2.1 资源库与运行时的表

4.2.2 历史数据表

☃️4.3 表结构
表JBPM4_DEPLOYMENT
| 表名 | 流程定义表 | |||
|---|---|---|---|---|
| 列名 | 数据类型(精度范围) | 空/非空 | 约束条件 | 中文名 |
| DBID_ | NUMBER(19) | N | PK | 流程模版标识 |
| NAME_ | CLOB | Y | 流程模版名称 | |
| TIMESTAMP_ | NUMBER(19) | Y | 时间戳 | |
| STATE_ | VARCHAR2(255 CHAR) | Y | 可用状态 | |
| 补充说明 | 一条 jbpm4_deployment 记录需要对应4 条jbpm4_deployprop 记录 |
表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 | 类型是数值时的值 | |
| 补充说明 | ① 一条jbpm4_deployment 记录需要对应4 条jbpm4_deployprop 记录,存储在KEY_里面:Langid 标识解析流程定义使用的 jpdl 的版本Pdid 流程定义的 id , 唯一标识一个流程Pdkey 流程的 key ,标识同一类流程Pdversion 标识流程的版本 |
表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 | 父实例序号 | |
| 补充说明 | 驱动流程运行,记录流程实例运行必须的信息 |
表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_) | 对应的定义任务 |
| 补充说明 | 流程运行中执行过的节点的记录,包括Task和State节点 |
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 | 变量的父变量序号 | |
| 补充说明 | 历史信息的详细表,跟其他的历史表进行关联 |
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 | ||
| 补充说明 | 历史流程实例相关信息 |
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_) | 父任务 |
| 补充说明 | 历史任务相关信息,与jbpm4_hist_actinst关联,单独的表减少了state节点相应字段的空闲和空间浪费 |
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_) | 历史任务 |
| 补充说明 | 历史变量相关信息 |
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 | ||
| 补充说明 |
JBPM4_ID_MEMBERSHIP
| 表名 | 用户角色表 | |||
|---|---|---|---|---|
| 列名 | 数据类型(精度范围) | 空/非空 | 约束条件 | 中文名 |
| DBID_ | NUMBER(19) | N | ||
| DBVERSION_ | NUMBER(10) | N | ||
| USER_ | NUMBER(19) | Y | ||
| GROUP_ | NUMBER(19) | Y | ||
| NAME_ | VARCHAR2(255 CHAR) | Y | ||
| 补充说明 |
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 | ||
| 补充说明 |
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 | 重复 | |
| 补充说明 | 作业相关 |
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 | 流程定义文件名 | |
| 补充说明 | 保存根据流程定义 xml 形成的二进制数据 |
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_) | 对应泳道 |
| 补充说明 | 办理人相关信息 |
JBPM4_PROPERTY
| 表名 | 序列表 | |||
|---|---|---|---|---|
| 列名 | 数据类型(精度范围) | 空/非空 | 约束条件 | 中文名 |
| KEY_ | VARCHAR2(255 CHAR) | N | ||
| VERSION_ | NUMBER(10) | N | ||
| VALUE_ | VARCHAR2(255 CHAR) | Y | ||
| 补充说明 | 为运行时需要持久化的对象生成dbid,其记录当前所有对象实例的最大值,每次需要生成dbid时,需要先获取该值,然后递增返回。 |
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_) | 活动实例 |
| 补充说明 | 泳道相关信息 |
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 | 任务定义名 | |
| 补充说明 | 记录任务的相关信息 |
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_) | |
| 补充说明 | 记录传给流程的变量的相关信息 |
☃️4.4 流程操作与数表交互说明
发布一个流程deploy
① jbpm4_deployment(流程定义):新增一条记录,记录新增的流程名称、时间、状态;
② jbpm4_lob(存储表): 新增一条记录,保存根据流程定义xml形成的二进制数据(同时也保存变量variable);
③ jbpm4_deployprop(流程定义属性表):新增四条记录,记录流程的属性,在“KEY_”里面记录一下四项内容:
Langid 标识解析流程定义使用的 jpdl 的版本;
Pdid 流程定义的 id , 唯一标识一个流程;
Pdkey 流程的 key ,标识同一类流程;
Pdversion 标识流程的版本。
zip包:(包含png和jpdl.xml)后
① JBPM4_DEPLOYMENT;
② JBPM4_DEPLOYPROP ;
③ JBPM4_LOB多两条。
开始一个流程startProcessInstanceByKey后
① jbpm4_execution(流程实例表):新增一条记录
② jbpm4_hist_procinst(流程实例历史表):新增一条记录
③ jbpm4_variable (上下表):新增一条记录
④ jbpm4_task (任务表):新增一条记录
⑤ jbpm4_hist_task(任务历史表):新增一条记录
⑥ jbpm4_hist_actinst (活动节点实例表):新增一条记录
填写申请信息
① jbpm4_variable(上下表) : 新增N条记录,根据表单信息决定
② jbpm4_task (任务表):新增一条记录
③ jbpm4_hist_task(任务历史表):新增一条记录
④ jbpm4_hist_actinst (活动节点实例表):新增一条记录
审批申请信息
1.同意:
① jbpm4_hist_actinst (活动节点实例表):新增一条记录
2.驳回:
① jbpm4_task (任务表):新增一条记录
② jbpm4_hist_task(任务历史表):新增一条记录
③ jbpm4_hist_actinst (活动节点实例表):新增一条记录
审批结束
① jbpm4_hist_actinst (活动节点实例表):新增一条记录




















