jbpm4表结构(1)

 

了解JBPM是如何运作的,还是要从表结构下手,真正理解后,才能明白每一个步操作的真实含义。


以JBPM4.4为例,oracle中的表结构如下,一共18张表,共分为四大模块:

 

引擎属性数据表

JBPM4_PROPERTY 属性表

KEY_

VARCHAR2(255)

 

VERSION_

NUMBER(10)

 

VALUE_

VARCHAR2(255)

 

 

查看数据,可以看到类似下面的信息:

 

key_            version_           value_

next.dbid          1               10001

 

从这里可以看出来,为了适应各种数据库,对于主键的自增,采用了自定义主键生成器的方式

具体实现可以查看org.jbpm.pvm.internal.id.PropertyImpl这个类

 

流程定义资源与实例运行时数据表

 

JBPM4_DEPLOYMENT 流程定义表

DBID_

NUMBER(19)

主键

NAME_

CLOB

 

TIMESTAMP_

NUMBER(19)

 

STATE_

VARCHAR2(255)

 

 

 

 

 

 

JBPM4_DEPLOYPROP流程定义属性表

DBID_

NUMBER(19)

主键

DEPLOYMENT_

NUMBER(19)

外键

JBPM4_DEPLOYMENT.DBID_

OBJNAME_

VARCHAR2(255)

发布的名称

KEY_

VARCHAR2(255)

Langidpdidpdkeypdversion等信息

STRINGVAL_

VARCHAR2(255)

value存放字符串类型

LONGVAL_

NUMBER(19)

value存放数字类型

 

 

JBPM4_LOB 大对象表 (流程定义的相关属性 包括jpdl xml 图片 用户代码等)

DBID_

NUMBER(19)

主键

DBVERSION_

NUMBER(10)

 

BLOB_VALUE_

BLOB

 

DEPLOYMENT_

NUMBER(19)

外键

JBPM4_DEPLOYMENT.DBID_

NAME_

CLOB

 

 

发布一个流程后
jbpm4_deployment
新增一条记录
jbpm4_deployprop
新增四条记录
jbpm4_lob
新增二条记录

 

JBPM4_EXECUTION 流程实例表

DBID_

NUMBER(19)

主键

CLASS_

VARCHAR2(255)

 

DBVERSION_

NUMBER(10)

 

ACTIVITYNAME_

VARCHAR2(255)

 

PROCDEFID_

VARCHAR2(255)

 

HASVARS_

NUMBER(1)

 

NAME_

VARCHAR2(255)

 

KEY_

VARCHAR2(255)

 

ID_

VARCHAR2(255)

 

STATE_

VARCHAR2(255)

 

SUSPHISTSTATE_

VARCHAR2(255)

 

PRIORITY_

NUMBER(10)

 

HISACTINST_

NUMBER(19)

 

PARENT_

NUMBER(19)

 

INSTANCE_

NUMBER(19)

 

SUPEREXEC_

NUMBER(19)

 

SUBPROCINST_

NUMBER(19)

 

PARENT_IDX_

NUMBER(10)

 

 

JBPM4_TASK 任务表

DBID_

NUMBER(19)

主键

CLASS_

CHAR(1)

 

DBVERSION_

NUMBER(10)

 

NAME_

VARCHAR2(255)

 

DESCR_

CLOB

 

STATE_

VARCHAR2(255)

 

SUSPHISTSTATE_

VARCHAR2(255)

 

ASSIGNEE_

VARCHAR2(255)

 

FORM_

VARCHAR2(255)

 

PRIORITY_

NUMBER(10)

 

CREATE_

DATE

 

DUEDATE_

DATE

 

PROGRESS_

NUMBER(10)

 

SIGNALLING_

NUMBER(1)

 

EXECUTION_ID_

VARCHAR2(255)

 

ACTIVITY_NAME_

VARCHAR2(255)

 

HASVARS_

NUMBER(1)

 

SUPERTASK_

NUMBER(19)

 

EXECUTION_

NUMBER(19)

 

PROCINST_

NUMBER(19)

 

SWIMLANE_

NUMBER(19)

 

TASKDEFNAME_

VARCHAR2(255)

 

 

JBPM4_PARTICIPATION 参与者表

DBID_

NUMBER(19)

 

DBVERSION_

NUMBER(10)

 

GROUPID_

VARCHAR2(255)

 

USERID_

VARCHAR2(255)

 

TYPE_

VARCHAR2(255)

 

TASK_

NUMBER(19)

 

SWIMLANE_

NUMBER(19)

 

 

JBPM4_SWIMLANE 泳道表

DBID_

NUMBER(19)

 

DBVERSION_

NUMBER(10)

 

NAME_

VARCHAR2(255)

 

ASSIGNEE_

VARCHAR2(255)

 

EXECUTION_

NUMBER(19)

 

 

JBPM4_JOB 异步活动或定时器表

DBID_

NUMBER(19)

 

CLASS_

VARCHAR2(255)

 

DBVERSION_

NUMBER(10)

 

DUEDATE_

DATE

 

STATE_

VARCHAR2(255)

 

ISEXCLUSIVE_

NUMBER(1)

 

LOCKOWNER_

VARCHAR2(255)

 

LOCKEXPTIME_

DATE

 

EXCEPTION_

CLOB

 

RETRIES_

NUMBER(10)

 

PROCESSINSTANCE_

NUMBER(19)

 

EXECUTION_

NUMBER(19)

 

CFG_

NUMBER(19)

 

SIGNAL_

VARCHAR2(255)

 

EVENT_

VARCHAR2(255)

 

REPEAT_

VARCHAR2(255)

 

 

 

JBPM4_VARIABLE 变量表

DBID_

NUMBER(19)

 

CLASS_

VARCHAR2(255)

 

DBVERSION_

NUMBER(10)

 

KEY_

VARCHAR2(255)

 

CONVERTER_

VARCHAR2(255)

 

HIST_

NUMBER(1)

 

EXECUTION_

NUMBER(19)

 

TASK_

NUMBER(19)

 

LOB_

NUMBER(19)

 

DATE_VALUE_

DATE

 

DOUBLE_VALUE_

FLOAT

 

CLASSNAME_

VARCHAR2(255)

 

LONG_VALUE_

NUMBER(19)

 

STRING_VALUE_

VARCHAR2(255)

 

TEXT_VALUE_

CLOB

 

EXESYS_

NUMBER(19)

 

 

 

猜你喜欢

转载自pangwu86.iteye.com/blog/1107499