http://blog.163.com/tigerlion@126/blog/static/167675665201072642627400/

最近这几天一直在研究JBPM工作流引擎,以下为JBMP的数据库说明,貌似不是最新的4.4版本的,不过有胜于无,用来学习JBPM足矣。因为内容太多,分成两篇发。

1 流程配置类数据库表:

1.1 JBPM_PROCESSDEFINITION:流程模版表

字段名

字段含义

主键

外键

ID_

流程模版标识

√

×

NAME_

流程模版名称

×

×

VERSION_

流程模版版本,对于同一流程模版,多次插入数据库时,数据库中有多条记录,每条记录中的版本号一次增加

×

×

ISTERMINATIONIMPLICIT_

是否支持强行终止流程(目前理解)

×

×

STARTSTATE_

起始节点ID,在JBPM_NODE表中

×

√

 

1.2 JBPM_NODE:流程节点表

字段名

字段含义

主键

外键

ID_

流程节点标识

√

 

CLASS_

节点类型:

C: org.jbpm.graph.node.ProcessState

D: org.jbpm.graph.node.Decision

E: org.jbpm.graph.node.EndState

F: org.jbpm.graph.node.Fork

J: org.jbpm.graph.node.Join

K: org.jbpm.graph.node.TaskNode

N: org.jbpm.graph.def.Node

R: org.jbpm.graph.node.StartState

S: org.jbpm.graph.node.State

U: org.jbpm.graph.def.SuperState

   

NAME_

流程节点名称

   

SUBPROCESSDEFINITION_

节点类型为ProcessState时使用,代表子流程模版id

 

√

ISASYNC_

节点是否支持异步机制

   

ACTION_

节点中指定的action,对应JBPM_ACTION表

 

√

SUPERSTATE_

节点对应的SuperState的id,表明该节点属于某个SuperState

 

√

PROCESSDEFINITION_

节点所在的流程模版id

 

√

DECISIONDELEGATION

节点类型为Decision时使用,表明Decision对应的代理类,对应JBPM_DELEGATION表

 

√

DECISIONEXPRESSION_

节点类型为Decision时使用,该属性表示Decision中使用的判断表达式

   

SIGNAL_

节点类型为Task

   

CREATETASKS_

节点类型为Task

   

ENDTASKS_

节点类型为Task

   

NODECOLLECTIONINDEX_

节点类型为SuperState时使用,

   

 

1.3 JBPM_TRANSITION:流程迁移表

字段名

字段含义

主键

外键

ID_

流程迁移标识

√

 

NAME_

流程迁移名称

   

PROCESSDEFINITION_

迁移所在的流程模版id

 

√

FROM_

迁移来源,对应Node的id

 

√

TO_

迁移目的,对应Node的id

 

√

FROMINDEX_

?

   

 

1.4 JBPM_ACTION:流程动作表

字段名

字段含义

主键

外键

ID_

流程动作标识

√

 

NAME_

流程动作名称

 

√

CLASS_

流程动作分类:

A(动作): org.jbpm.graph.def.Action

S(脚本): org.jbpm.graph.action.Script

C(创建定时器):

org.jbpm.scheduler.def.CreateTimerAction I(取消定时器):

org.jbpm.scheduler.def.CancelTimerAction

   

ISPROPAGATIONALLOWED_

?

   

ACTIONEXPRESSION_

动作类行为I时使用,表示动作执行的脚本

   

ISASYNC_

动作是否支持异步机制

   

REFERENCEDACTION_

动作中引用的动作,对应JBPM_ACTION

 

√

ACTIONDELEGATION_

动作类型为A时使用,表示动作执行的代理类,对应JBPM_DELEGATION

 

√

EVENT_

动作中指定的事件,对应JBPM_EVENT

   

PROCESSDEFINITION_

动作所在的流程模版id

 

√

TIMERNAME_

定时器名称

   

DUEDATE_

定时器间隔时间

   

REPEAT_

定时器动作执行次数

   

TRANSITIONNAME_

动作指定后指向的Transition

   

TIMERACTION_

定时器动作代理类,对应JBPM_ACTION

   

EXPRESSION_

定时器执行表达式

   

EVENTINDEX_

?

   

EXCEPTIONHANDLER_

异常处理类,对应JBPM_EXCEPTIONHANDLER

   

EXCEPTIONHANDLERINDEX_

?

   

 

1.5 JBPM_EVENT:流程事件表

字段名

字段含义

主键

外键

ID_

流程事件标识

√

 

EVENTTYPE_

流程事件类型名称

   

TYPE_

流程事件所在的图形节点类型

"A" :Task

"C" :ProcessState

"D" :Decision"

"E" :EndState"

"F" :Fork"

"J" :Join"

"K" :TaskNode"

"N" :Node"

"P" :ProcessDefinition"

"R" :StartState"

"S" :State"

"T" :Transition"

"U" :SuperState"

   

GRAPHELEMENT_

流程事件所在的图形节点的ID

   

PROCESSDEFINITION_

流程事件所属流程定义,对应JBPM_PROCESSDEFINITION

 

√

NODE_

流程事件所属节点,对应JBPM_NODE

 

√

TRANSITION_

流程事件所属迁移,对应JBPM_ TRANSITION

 

√

TASK_

流程事件所属任务,对应JBPM_TASK

 

√

 

1.6 JBPM_DELEGATION:流程代理类表(用于实例化jbpm中的action类)

字段名

字段含义

主键

外键

ID_

流程代理标识

√

 

CLASSNAME_

流程代理类名称

   

CONFIGURATION_

流程代理类配置信息

   

CONFIGTYPE_

流程代理类配置类型

   

PROCESSDEFINITION_

流程代理类所属流程定义,对应JBPM_PROCESSDEFINITION

 

√

 

1.7 JBPM_TASK:流程任务表

字段名

字段含义

主键

外键

ID_

流程任务标识

√

 

NAME_

流程任务名称

   

PROCESSDEFINITION_

流程任务所属流程定义,对应JBPM_PROCESSDEFINITION

 

√

DESCRIPTION_

流程任务描述

   

ISBLOCKING_

任务是否为阻塞(任务不完成、流程不能继续)

   

ISSIGNALING_

任务是否可以驱动TOKEN

   

DUEDATE

任务持续时间,表明任务应在多长时间内完成

   

ACTORIDEXPRESSION

?

   

POOLEDACTORSEXPRESSION

?

   

TASKMGMTDEFINITION_

任务所属的任务管理模块ID,对应JBPM_MODULEDEFIFNITION

 

√

TASKNODE_

任务所属的TASK_NODE,对应JBPM_NODE

 

√

STARTSTATE

任务所属的START_NODE,对应JBPM_NODE

 

√

ASSIGNMENTDELEGATION

?

 

√

SWIMLANE

执行该任务的泳道(角色)

 

√

TASKCONTROLLER_

?

   

 

1.8 JBPM_TASKCONTROLLER:流程任务控制器

字段名

字段含义

主键

外键

ID_

流程任务控制器标识

√

 

TASKCONTROLLERDELEGATION_

流程任务控制器对应的代理,对应JBPM_DELEGATION

 

√

 

1.9 JBPM_VARIABLEACCESS:流程变量表

字段名

字段含义

主键

外键

ID_

流程变量标识

√

 

VARIABLENAME_

流程变量名称

   

ACCESS_

流程变量存取方式

   

MAPPEDNAME

?(暂时不使用)

   

PROCESSSTATE

流程变量所属的流程节点,对应JBPM_NODE

 

√

TASKCONTROLLER

流程变量所属的流程任务控制器,对应JBPM_ TASKCONTROLLER

 

√

INDEX_

?

   

SCRIPT

流程变量所属的ACTION,对应JBPM_ ACTION

 

√

 

1.10 JBPM_MODULEDEFINITION:流程模块定义表

字段名

字段含义

主键

外键

ID_

流程模块标识

√

 

CLASS_

流程模块类型:

M : org.jbpm.module.def.ModuleDefinition

C : org.jbpm.context.def.ContextDefinition

F : org.jbpm.file.def.FileDefinition

L: org.jbpm.logging.def.LoggingDefinition

I: org.jbpm.scheduler.def.SchedulerDefinition

T: org.jbpm.taskmgmt.def.TaskMgmtDefinition

   

NAME_

流程模块名称

   

PROCESSDEFINITION_

流程模块所属流程定义,对应JBPM_PROCESSDEFINITION

 

√

STARTTASK

类型为T时使用,对应JBPM_TASK

 

√

 

1.11JBPM_EXCEPTIONHANDLER:流程异常处理器表

字段名

字段含义

主键

外键

ID_

流程异常处理器标识

√

 

EXCEPTIONHANDLERNAME_

流程异常处理器名称

   

TYPE_

流程异常处理器所在的图形节点类型

"A" :Task

"C" :ProcessState

"D" :Decision"

"E" :EndState"

"F" :Fork"

"J" :Join"

"K" :TaskNode"

"N" :Node"

"P" :ProcessDefinition"

"R" :StartState"

"S" :State"

"T" :Transition"

"U" :SuperState"

   

GRAPHELEMENT_

流程异常处理器所在的图形节点的ID

   

PROCESSDEFINITION_

流程异常处理器所属流程定义,对应JBPM_PROCESSDEFINITION

 

√

NODE_

流程异常处理器所属节点,对应JBPM_NODE

 

√

TRANSITION_

流程异常处理器所属迁移,对应JBPM_ TRANSITION

 

√

TASK_

流程异常处理器所属任务,对应JBPM_TASK

 

√

GRAPHELEMENTINDEX_

流程异常处理器中包含的ACTION集合的索引(?)

   

 

1.12 JBPM_DECISIONCONDITION:DECISION节点判断条件表

字段名

字段含义

主键

外键

INDEX_

标识

√

 

DECISION_

所属的DECISION,对应JBPM_NODE

√

 

TRANSITIONNAME_

DECISION节点的“离开节点名称”

   

EXPRESSION

每一个“离开节点名称”对应的条件表达式

   

 

1.13 JBPM_ SWINLANE:DECISION节点判断条件表

字段名

字段含义

主键

外键

ID_

标识

√

 

NAME_

泳道名称

√

 

TRANSITIONNAME_

DECISION节点的“离开节点名称”

   

EXPRESSION

每一个“离开节点名称”对应的条件表达式

   

 

2 流程运行类数据库表:

2.1 JBPM_PROCESSINSTANCE:流程实例表

字段名

字段含义

主键

外键

ID_

标识

√

 

VERSION_

版本

   

START_

流程实例开始时间

   

END_

流程实例结束时间

   

ISSUSPENDED

流程实例是否暂停

   

PROCESSDEFINITION_

流程实例所属的流程模版,对应JBPM_PROCESSDEFINITION

 

√

ROOTTOKEN_

流程实例对应的TOKEN,对应JBPM_TOKEN

 

√

SUPERPROCESSTOKEN_

父流程的当前TOKEN的ID,当流程实例为子流程实例时使用,表明由父流程进入子流程时,父流程的当前TOKEN。对应JBPM_TOKEN

 

√

 

2.2 JBPM_TOKEN:流程TOKEN表

字段名

字段含义

主键

外键

ID_

标识

√

 

VERSION_

版本

   

START_

TOKEN开始时间

   

END_

TOKEN结束时间

   

NODEENTER_

TOKEN进入当前节点(TOKEN当前所处的节点)的时间

   

NEXTLOGINDEX_

?

   

ISABLETOREACTIVATEPARENT_

能否重新激活父TOKEN标志

   

ISTERMINATIONIMPLICIT_

能够强制终止TOKEN标志

   

ISSUSPENDED_

TOKEN是否处于暂停状态

   

NODE_

TOKEN所在的当前节点,对应JBPM_NODE

 

√

PROCESSINSTANCE_

TOKEN所属的流程实例,对应JBPM_PROCESSINSTANCE

 

√

PARENT_

TOKEN的父TOKEN,当TOKEN是由fock产生或处于子流程中时使用,对应JBPM_TOKEN

 

√

 

2.3 JBPM_LOG:流程日志表

字段名

字段含义

主键

外键

ID_

标识

√

 

CLASS_

日志类型:

A: ActionLog

B: ByteArrayUpdateLog

C: CompositeLog

D: VariableDeleteLog E: DateUpdateLog

F: HibernateStringUpdateLog

G: LongUpdateLog

H: HibernateLongUpdateLog

I: ProcessInstanceCreateLog

L: DoubleUpdateLog

M: MessageLog

N: NodeLog

O: TokenCreateLog

P: ProcessLog

R: VariableCreateLog S: SignalLog

T: TransitionLog

U: StringUpdateLog

V: VariableLog

W: VariableUpdateLog X: ProcessInstanceEndLog

Y: TokenEndLog

0: TaskLog

1: TaskCreateLog

2: TaskAssignLog

3: TaskEndLog

4: SwimlaneLog

5: SwimlaneCreateLog

6: SwimlaneAssignLog

   

INDEX_

?

   

DATE_

日志产生时间

   

TOKEN _

日志所属TOKEN

   

PARENT_

日志的父日志,对应JBPM_LOG

   

CHILD_

创建的子TOKEN,对应TokenCreateLog

结束的子TOKEN,对应TokenEndLog

   

MESSAGE_

消息信息,当日志类型为M(MessageLog)时使用

   

EXCEPTION_

日志异常信息,对应ActionLog

   

ACTION_

日志所属ACTION,当日志类型为A(ActionLog)时使用

   

NODE_

日志所属NODE,当日志类型为N(NodeLog)时使用

   

ENTER_

进入节点时间,对应NodeLog

   

LEAVE_

离开节点时间,对应NodeLog

   

DURATION_

节点停留时间,对应NodeLog

   

TRANSITION_

日志所属TRANSITION

   

SOURCENODE_

TRANSITION的起点,对应TransitionLog

   

DESTINATIONNODE_

TRANSITION的终点,对应TransitionLog

   

VARIABLEINSTANCE_

日志所属的流程变量实例,对应VariableLog

   

OLDBYTEARRAY_

原BYTEARRAY值,对应ByteArrayUpdateLog

   

NEWBYTEARRAY

新BYTEARRAY值,对应ByteArrayUpdateLog

   

OLDDATEVALUE

原DATE值,对应DateUpdateLog

   

NEWDATEVALUE

新DATE值,对应DateUpdateLog

   

OLDDOUBLEVALUE_

原DOUBLE值,对应DoubleUpdateLog

   

NEWDOUBLEVALUE_

新DOUBLE值,对应DoubleUpdateLog

   

OLDLONGIDCLASS_

原LONGIDCLASS值,对应HibernateLongUpdateLog

   

NEWLONGIDCLASS_

新LONGIDCLASS值,对应HibernateLongUpdateLog

   

OLDLONGIDVALUE_

原LONGID值,对应HibernateLongUpdateLog

   

NEWLONGIDVALUE_

新LONGID值,对应HibernateLongUpdateLog

   

OLDSTRINGIDCLASS_

原STRINGIDCLASS值,对应HibernateStringUpdateLog

   

OLDSTRINGIDVALUE_

原STRINGID值,对应HibernateStringUpdateLog

   

NEWSTRINGIDCLASS_

新STRINGIDCLASS值,对应HibernateStringUpdateLog

   

NEWSTRINGIDVALUE_

新STRINGID值,对应HibernateStringUpdateLog

   

OLDLONGVALUE_

原LONG值,对应LongUpdateLog

   

NEWLONGVALUE_

新LONG值,对应LongUpdateLog

   

OLDSTRINGVALUE_

原STRING值,对应StringUpdateLog

   

NEWSTRINGVALUE_

新STRING值,对应StringUpdateLog

   

TASKINSTANCE_

日志所属的TASKINSTANCE,对应TaskLog

TaskCreateLog

TaskAssignLog

TaskEndLog

   

TASKACTORID_

任务的新ACTORID,对应TaskAssignLog

TaskCreateLog

SwimlaneCreateLog

SwimlaneAssignLog

   

TASKOLDACTORID_

任务的原ACTORID,对应TaskAssignLog

SwimlaneAssignLog

   

SWIMLANEINSTANCE_

日志所属的SWIMLANEINSTANC,对应SwimlaneLog

SwimlaneCreateLog

SwimlaneAssignLog

   

2.4 JBPM_RUNTIMEACTION:流程实时ACTION表

字段名

字段含义

主键

外键

ID_

标识

√

 

VERSION_

版本

   

EVENTTYPE_

实时ACTION所处的事件类型名称

   

TYPE_

实时ACTION所在的图形节点类型

"A" :Task

"C" :ProcessState

"D" :Decision"

"E" :EndState"

"F" :Fork"

"J" :Join"

"K" :TaskNode"

"N" :Node"

"P" :ProcessDefinition"

"R" :StartState"

"S" :State"

"T" :Transition"

"U" :SuperState"

   

GRAPHELEMENT_

实时ACTION所在的图形节点的ID

   

PROCESSINSTANCE_

实时ACTION所在的流程实例,对应JBPM_PROCESSINSTANCE

   

ACTION_

实时ACTION对应的ACTION,对应JBPM_ACTION

   

PROCESSINSTANCEINDEX_

?

   

 

2.5 JBPM_VARIABLEINSTANCE:流程变量实例表

字段名

字段含义

主键

外键

ID_

标识

   

CLASS_

变量类型:

V : org.jbpm.context.exe.VariableInstance

B : org.jbpm.context.exe.variableinstance.ByteArrayInstance

D : org.jbpm.context.exe.variableinstance.DateInstance

O : org.jbpm.context.exe.variableinstance.DoubleInstance

H : org.jbpm.context.exe.variableinstance.HibernateLongInstance

I : org.jbpm.context.exe.variableinstance.HibernateStringInstance

L : org.jbpm.context.exe.variableinstance.LongInstance

S : org.jbpm.context.exe.variableinstance.StringInstance

N : org.jbpm.context.exe.variableinstance.NullInstance

   

NAME_

变量名称

   

TYPE_

?

   

CONVERTER_

数值转换器

   

TOKEN_

变量所在的TOKEN,对应JBPM_TOKEN

 

√

TOKENVARIABLEMAP_

该变量所属的TOKEN的变量映射,对应JBPM_TOKENVARIABLEMAP

 

√

PROCESSINSTANCEINDEX_

?

   

PROCESSINSTANCE_

变量所在的流程实例,对应JBPM_PROCESSINSTANCE

 

√

BYTEARRAYVALUE_

当流程变量是ByteArray类型时,变量的值,对应JBPM_BYTEARRAY

   

DATEVALUE_

当流程变量是DATE类型时,变量的值

   

DOUBLEVALUE_

当流程变量是DOUBLE类型时,变量的值

   

LONGIDCLASS_

当流程变量是了HibernateLongInstance类型时,变量的类型

   

LONGVALUE_

当流程变量是了HibernateLongInstance/Long类型时,变量的值

   

STRINGIDCLASS_

当流程变量是了HibernateStringInstance类型时,变量的类型

   

STRINGVALUE_

当流程变量是了HibernateStringInstance/String类型时,变量的值

   

TASKINSTANCE_

变量所在的任务实例,对应JBPM_TASKINSTANCE

   
 
 
 
 
 

JBPM数据库表说明的更多相关文章

  1. JBPM工作流(二)——数据库表说明

    以下为JBMP的数据库说明(18张): 1 流程配置类数据库表: 1.1 JBPM_PROCESSDEFINITION:流程模版表 字段名 字段含义 主键 外键 ID_ 流程模版标识 √ × NAME ...

  2. 开源流程引擎Camunda BPM如何扩展数据库表

    前言 在使用开源流程引擎(如:JBPM.Activiti.Flowable.Camunda等)的时候,经常会遇到这样的需求,我们需要按照业务需求增加一张数据库的表,而且这张表是跟工作流引擎有交互的(注 ...

  3. 绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来

    我用到的数据库为,mysql数据库5.7版本的 1.首先自己准备好数据库表 其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: ...

  4. 数据库表结构设计方法及原则(li)

    数据库设计的三大范式:为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的总结.要想设计一个结构合理的关系型数据库,必须满 ...

  5. 对于多个数据库表对应一个Model问题的思考

    最近做项目遇到一个场景,就是客户要求为其下属的每一个分支机构建一个表存储相关数据,而这些表的结构都是一样的,只是分属于不同的机构.这个问题抽象一下就是多个数据库表对应一个Model(或者叫实体类).有 ...

  6. C# .Net :Excel NPOI导入导出操作教程之将Excel文件读取并写到数据库表,示例分享

    using (FileStream fileReader = File.OpenRead(@"C:\Users\Administrator\Desktop\112.xls"))   ...

  7. mysql数据库表的自增主键号不规律,重新排列

    mysql数据库表的自增主键ID乱了,需要重新排序. 原理:删除原有的自增ID,重新建立新的自增ID. 1.删除原有主键: ALTER TABLE `table_name` DROP `id`; 2. ...

  8. 数据库(SQL Server)管理数据库表~新奇之处

    说到“数据库”,我总有一种莫名的感觉,在刚刚接触到的数据库中就让我似懂非懂渡过着,于是思考着.于是在冷静的时空中让我回想到了很多的知识,不知你们是怎样过来的,真心希望我的这篇数据库总结能够让我们都有一 ...

  9. hibernate笔记--通过SchemaExport生成数据库表

    方法比较简单,项目中只需要两个java类(一个实体类,如User,一个工具类),两个配置文件(hibernate必须的两个配置文件hibernate.cfg.xml,与User.hbm.xml),即可 ...

随机推荐

  1. new reader

    BufferedReader bufferedReader = new BufferedReader( new StringReader(charset.decode(inBuffer).toStri ...

  2. join的一对多,去除重复,排序优先的group方法

    想将问题列表按照最新回答来排列.但问题和回答是分拆在两张表来存放的.所以,要完成上述需求,需从主表“问题”取显示数据,但是得按照次表(回答)的更新日期来排序. 用join来做,始终无法去除重复,折腾了 ...

  3. ANDROID_MARS学习笔记_S02_006_APPWIDGET2_PendingIntent及RemoteViews实现widget绑定点击事件

    一.代码流程 1.ExampleAppWidgetProvider的onUpdate(Context context, AppWidgetManager appWidgetManager, int[] ...

  4. 释放SQL Server占用的内存

    由于Sql Server对于系统内存的管理策略是有多少占多少,除非系统内存不够用了(大约到剩余内存为4M左右),Sql Server才会释放一点点内存.所以很多时候,我们会发现运行Sql Server ...

  5. laravel route路由,视图和response和filter

    Laravel充分利用PHP 5.3的特性,使路由变得简单并富于表达性.这使得从构建API到完整的web应用都变得尽可能容易.路由的实现代码在 application/routes.php 文件. 和 ...

  6. 360手机助手内部资料曝光,63张PPT纯干货

    360手机助手内部资料曝光,63张PPT纯干货 日前,国内最大的安卓应用商店360手机助手发布了<2016年手机软件行业趋势绿皮书>,这份绿皮书对2015年以来移动互联网的趋势做了总结,展 ...

  7. Innodb加载数据字典 && flush tables

    测试了两个case,属于之前blog的遗留问题: innodb如何加载数据字典 flush tables都做了什么操作 先来看下innodb加载数据字典: 首次使用:select * from tt; ...

  8. bzoj1056

    花了一上午大概复习了一下splay,treap 像这种裸的数据结构题在js应该会越来越少 不过练练手也好, 这就是平衡树+hash,如果这是单纯的BST应用,还是写treap吧,好调试 ;       ...

  9. Linux Kernel KVM 'apic_get_tmcct()'函数拒绝服务漏洞

    漏洞版本: Linux Kernel 漏洞描述: Bugtraq ID:64270 CVE ID:CVE-2013-6367 Linux Kernel是一款开源的操作系统. Linux KVM LAP ...

  10. NOI2008 志愿者招募

    1061: [Noi2008]志愿者招募 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 1859  Solved: 1169[Submit][Stat ...