JEPaaS 社区

 找回密码
 立即注册
JEPaaS低代码平台-官网
查看: 2428|回复: 0

JBPM 相关表介绍:

[复制链接]

54

主题

77

帖子

354

积分

管理员

JEPaaS专家

Rank: 9Rank: 9Rank: 9

积分
354
发表于 2021-10-12 09:41:51 | 显示全部楼层 |阅读模式
JBPM 相关表介绍



表关系图
JBPM 流程引擎的数据库结构图
JBPM4 常用表结构及其说明

第一部分:表结构说明
Jbpm4 共有18张表,如下,其中红色的表为经常使用的表

一:资源库与运行时表结构
  • JBPM4_DEPLOYMENT 流程定义表
  • JBPM4_DEPLOYPROP 流程定义属性表
  • JBPM4_EXECUTION 流程实例表
  • JBPM4_PROPERTY 流程引擎表
  • JBPM4_TASK 任务表
  • JBPM4_VARIABLE 上下文表
  • JBPM4_JOB 定时表
  • JBPM4_LOB 存储表
  • JBPM4_SWIMLANE泳道表
  • JBPM4_PARTICIPATION 参与者表

二: 历史数据表
  • JBPM4_HIST_ACTINST 流程活动(节点)实例表
  • JBPM4_HIST_DETAIL 流程历史详细表
  • JBPM4_HIST_PROCINST 流程实例历史表
  • [backcolor=rgb(255, 255, 0) !important]JBPM4_HIST_TASK 流程任务实例历史表
  • JBPM4_HIST_VAR 流程变量(上下文)历史表
三:身份认证表结构
  • JBPM4_ID_GROUP 组表
  • JBPM4_ID_MEMBERSHIP 用户角色表
  • JBPM4_ID_USER 用户表
    这三张表很常见,基本的权限控制,关于用户认证方面建议还是自己开发一套,组件自带的功能太简单,使用中有很多需求难以满足


第二部分:表结构描述
一:表结构描述
  • JBPM4_DEPLOYMENT 流程定义表
  • JBPM4_DEPLOYPROP 流程定义属性表
  • JBPM4_EXECUTION 流程实例表
    主要是存放JBPM4的执行信息,Execution机制代替了JBPM3的Token机制。
  • JBPM4_PROPERTY 流程引擎表
  • JBPM4_TASK 任务表
    存放需要人来完成的Activities,需要人来参与完成的Activity 被称为Task
  • JBPM4_VARIABLE 上下文表 存的是进行时的临时变量
  • JBPM4_JOB 定时表 存放的是Timer的定义
  • JBPM4_LOB 存储表
  • JBPM4_SWIMLANE泳道表
    Swim Lane是一种Runtime Process Role。通过Swim Lane,多个Task可以一次分配到同一Actor身上。
  • JBPM4_PARTICIPATION 参与者表
    存放 Participation的信息,Participation的种类有Candidate、Client、Owner、 Replaced Assignee和Viewer。而具体的Participation既可以是单一用户,也可以是用户组。

二: 历史数据表
  • JBPM4_HIST_ACTINST 流程活动(节点)实例表 存放Activity Instance的历史记录
  • JBPM4_HIST_DETAIL 流程历史详细表 保存Variable的变更记录
  • JBPM4_HIST_PROCINST 流程实例历史表 存放Process Instance的历史信息
  • [backcolor=rgb(255, 255, 0) !important]JBPM4_HIST_TASK 流程任务实例历史表 Task的历史信息。
  • JBPM4_HIST_VAR 流程变量(上下文)历史表 保存历史的变量
第三部分:操作信息变化
注意:以下操作步骤向表中增加记录的顺序(经过测试)
发布一个流程deploy后
Ø jbpm4_deployment(流程定义):新增一条记录
Ø jbpm4_lob(存储表): 新增一条记录
Ø jbpm4_deployprop(流程定义属性表):新增四条记录
上传一个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 (活动节点实例表):新增一条记录


第四部分:相关SQL
  1. #流程定义的部署记录
  2. select * from JBPM4_DEPLOYMENT;
  3. #已部署的流程定义的具体属性
  4. select * from JBPM4_DEPLOYPROP;
  5. #JBPM4_LOB 存储流程定义相关的资源信息
  6. #包括 JPDL_XML ,图片, 用户代码 JAVA 类等。以二进制的格式统一存储在此表中。
  7. select * from JBPM4_LOB;
  8. /*发布一个流程deploy后
  9. jbpm4_deployment新增一条记录
  10. jbpm4_deployprop新增三条记录
  11. jbpm4_lob新增两条记录
  12. */


  13. #随着发布流程,及创建流程实例自增的ID,实现ID的唯一性
  14. select * from JBPM4_PROPERTY;


  15. #流程实例表(未完结的)
  16. select * from JBPM4_EXECUTION;
  17. #流程实例任务表(未完结的)
  18. select * from JBPM4_TASK t where TASKid = '320007';-- 320007
  19. #流程实例历史表
  20. select * from JBPM4_HIST_PROCINST;
  21. #流程节点(活动)历史表
  22. select * from JBPM4_HIST_ACTINST;
  23. #保存流程实例、活动实例、任务实例运行过程中历史明细数据
  24. select * from JBPM4_HIST_DETAIL ;
  25. #保存历史的任务实例记录
  26. select * from JBPM4_HIST_TASK;
  27. #流程实例变量表 存的是进行时的临时变量。当流程实例结束后,表中内容清除。
  28. select * from JBPM4_VARIABLE;
  29. /*
  30. 开始一个流程startProcessInstanceByKey后
  31. jbpm4_execution新增一条记录
  32. jbpm4_hist_actinst新增一条记录
  33. jbpm4_hist_procinst新增一条记录
  34. jbpm4_hist_task新增一条记录
  35. jbpm4_task新增一条记录
  36. */

  37. #泳道表 SwimLane是一种Runtime Process Role。通过SwimLane,多个Task可以一次分配到同一Actor身上
  38. select * from JBPM4_SWIMLANE;
  39. #定时表 存放的是Timer 的定义,异步活动或定时执行的JOB记录
  40. select * from JBPM4_JOB;


  41. #用户组表
  42. select * from JBPM4_ID_GROUP ;
  43. #保存用户和用户组之间的关联关系
  44. select * from JBPM_ID_MEMBERSHIP;
  45. #用户表
  46. select * from JBPM4_ID_USER;

  47. #引擎参数表
  48. select * from JBPM4_PROPERTY;
  49. /*记录JBPM的一些引擎参数
  50. 会保存一些初始设定的种子数据
  51. 例如引擎版本(KEY=db.version) ,ID生成器版本(KEY=next.dbid)
  52. KEY:引擎KEY 比如next.dbid 下次执行的DBID_
  53. VERSION:版本号
  54. VALUE:对应的引擎KEY的VALUE*/
复制代码






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|JEPaaS 低代码平台社区 ( 京ICP备18023569号 )

GMT+8, 2024-5-21 02:02 , Processed in 0.069464 second(s), 20 queries .

Powered by 北京凯特伟业科技有限公司

Copyright © 2001-2021, JEPaaS.COM

快速回复 返回顶部 返回列表