activiti7的数据表和字段的解释
activiti7的数据表和字段的解释
activiti7版本有25张表,而activiti6有28张表,activiti5有27张表,绝大部分的表和字段的含义都是一样的,所以本次整理的activiti7数据表和字段的解释,也同样适用于activiti6和5。
1、总览
可分为四大类:
act_re_*:re代表Repository(仓库),存储流程部署、流程模型和流程定义相关的数据。对应的操作service为RepositoryService
act_ru_*:ru代表runtime(运行时),流程从启动到结束过程中的所有运行时数据,全放在运行时表中。对应的操作service为RuntimeService和TaskService
act_hi_*:hi代表history(历史),记录所有的历史信息,其中的表名和字段名,与运行时表相对应。对应的操作service为HistoryService
act_ge_:ge代表general(通用),记录一些通用的数据,如.bpmn文件内容。对应的操作service为ManagementService。*
常用的数据表:
act_re_model
act_re_deployment
act_ge_bytearray
act_re_procdef
act_ru_execution
act_ru_identitylink
act_ru_task
act_ru_variable
act_hi_actinst
act_hi_comment
act_hi_identitylink
act_hi_procinst
act_hi_taskinst
act_hi_varinst
2、具体
act_re_model:流程模型表
描述:存储每个流程最新的一个流程模型。可以通过api来手动操作(Model)

注意,这里的EDITOR_SOURCE_VALUE_ID_和EDITOR_SOURCE_EXTRA_VALUE_ID_,不是二进制资源表中和部署记录一一对应的blob的id,而是在此基础上增加内容后产生的两条新的二进制资源。
act_ge_bytearray:二进制资源表
描述:用于存储用户画的流程图的原始bpmn文件和图片文件

act_re_deployment :流程部署表
描述: 存储流程部署记录。同样的key不一样的内容多次部署产生多条部署记录。

值得注意的是:
当开发的流程功能,由开发环境上线到生产环境时,迁移流程图时移动上面三个表中相应流程的数据就行了。
act_re_procdef:流程定义表

备注:
VERSION_ 字段代表流程的版本,从1开始。当部署流程图时,**如果流程ID(流程定义key)一样,但是bpmn内容发生了改变,则部署时会部署成功,出现VERSION_ 字段为2的流程定义版本,启动流程时如果是 startProcessInstanceByKey 启动的,则会用最新的流程定义执行流程。**所以当流程发生改变,又不想删除旧流程的流程数据时,就可以让流程ID一样,流程图不一样就行了。
act_procdef_info:流程定义信息表

act_ge_property:引擎属性表
描述:除了activiti7自带的系统属性,还能自定义添加,然后,通过managementService.getProperties();获取

act_ru_execution:运行时执行实例表
描述:

act_ru_identitylink:运行时身份连接表
描述:存储运行时流程的参与者身份连接

act_ru_task:运行时任务表

act_ru_timer_job:运行时定时作业表
描述:存储通过activiti发起的定时作业的信息。

act_ru_variable:运行时流程变量表

act_ru_suspended_job:运行时挂起的定时作业表

act_ru_job:运行时作业表

act_ru_integration:运行时积分表

act_ru_event_subscr:运行时事件订阅表

act_ru_deadletter_job:运行时死信作业表

act_evt_log:事件日志表
描述:事件日志表,记录activiti引擎级别的事件日志,默认关闭。

ps:
1)配置启用事件日志:processEngineConfiguration.setEnableDatabaseEventLogging(true);
2)运行时启用事件日志:databaseEventLogger = new EventLogger(processEngineConfiguration.getClock());
runtimeService.addEventListener(databaseEventLogger);
3)基于Activiti引擎的事件机制,其思想是,来源于引擎的事件会被捕获,并创建一个包含了所有事件数据的映射,提供给org.activiti.engine.impl.event.logger.EventFlusher,由它将这些数据刷入其他地方。默认情况下,使用简单的基于数据库的事件处理/刷入,会使用Jackson将上述映射序列化为JSON,并将其作为EventLogEntryEntity接口存入数据库。如果不使用事件记录,可以删除这个表。
act_hi_actinst:历史活动信息表
描述:记录流程流转过的所有节点信息

act_hi_attachment:历史流程附件表

act_hi_comment:历史审批意见表
描述:

act_hi_detail:历史详情表
描述:提供历史变量的查询

act_hi_identitylink:历史身份连接表
描述:相同字段含义和运行时身份连接表一样

act_hi_procinst:历史流程实例表

act_hi_taskinst:历史任务表:记录历史和正在进行的任务
描述:

act_hi_varinst:历史流程变量表
描述:

对于不常用的,有需要的时候在研究吧。另外,activiti7的api也基本都是根据数据表的字段来设计的,熟悉了数据表,在找到对应的操作api就不难了。
相关文章:
activiti7的数据表和字段的解释
activiti7的数据表和字段的解释 activiti7版本有25张表,而activiti6有28张表,activiti5有27张表,绝大部分的表和字段的含义都是一样的,所以本次整理的activiti7数据表和字段的解释,也同样适用于activiti6和5。 1、总览…...
Java手写Trie树和Trie树应用拓展案例
Java手写Trie树和Trie树应用拓展案例 1. 算法思维导图 以下是使用mermaid代码表示的Trie树的实现原理: #mermaid-svg-5twy24X7Wqbhyulb {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-5twy24X7Wqbhyul…...
alova.js快速入门教程
官网地址:Alova.JS - Lightweight request strategy library | Alova.JS 目录 一、alova 是什么? 二、 快速入门 1、安装依赖 (1)使用npm方式安装 (2)使用yarn方式安装 2、在静态 html 中使用 一、al…...
获取IP地址-根据IP获取位置信息
获取外网IP地址,并得到该地址所在位置; 如:101.249.255.255 对应:西藏自治区-拉萨市-堆龙德庆区 string ipAddress GetIPAddress(); string location GetIPLocation(ipAddress); /// <summary>/// 获取IP地址/// </s…...
Android13适配-Google官方照片视频选择器
官方照片选择器 图 1. 照片选择器提供了一个直观的界面,便于与您的应用分享照片。 照片选择器的界面可供浏览和搜索,并按日期降序向用户显示其媒体库中的文件。如隐私保护最佳实践 Codelab 中所示,照片选择器为用户提供了一种安全的内置授权…...
云计算的发展趋势和挑战
本文将探讨云计算的发展趋势和挑战,旨在帮助读者了解云计算的最新动态和未来发展方向。 随着信息技术的发展,云计算作为一种新兴的计算模式,已经得到了广泛的应用和认可。它通过将计算资源、存储资源和应用程序等服务通过互联网提供给用户&a…...
PyG-GAT-Cora(在Cora数据集上应用GAT做节点分类)
文章目录 model.pymain.py参数设置运行图 model.py import torch.nn as nn from torch_geometric.nn import GATConv import torch.nn.functional as F class gat_cls(nn.Module):def __init__(self,in_dim,hid_dim,out_dim,dropout_size0.5):super(gat_cls,self).__init__()s…...
java专项练习(验证码)
package 专题练习;import java.util.Random;public class Developing_CAPTCHA {public static void main(String[] args) {/* 需求:定义方法生成一个5位的验证码 验证码长度为5,前四位为大或小写字母,最后一位是数字*///方法: 如果我们要在一堆没有规律的数据中随机抽取,可以先…...
MS1861 视频处理与显示控制器 HDMI转MIPI LVDS转MIPI带旋转功能 图像带缩放,旋转,锐化
1. 基本介绍 MS1861 单颗芯片集成了 HDMI 、 LVDS 和数字视频信号输入;输出端可以驱动 MIPI(DSI-2) 、 LVDS 、 Mini-LVDS 以及 TTL 类型 TFT-LCD 液晶显示。可支持对输入视频信号进行滤波,图 像增强,锐化,对比度调节&am…...
广州华锐互动:利用VR复原文化遗址,沉浸式体验历史文物古迹的魅力
在过去的几十年里,科技发展飞速,为我们打开了无数新的视角和可能性。其中,虚拟现实(Virtual Reality,简称VR)技术的崭新应用,为我们提供了一种全新的、近乎身临其境的体验历史的方式。本文将重点…...
微信小程序——事件监听
微信小程序是一种轻量级的应用程序,它在移动设备上提供了丰富的用户体验。在开发微信小程序时,事件监听是一项重要的技术,它允许开发者捕捉和处理用户的各种操作。本文将介绍微信小程序事件监听的概念、用法和一些实用示例。 1. 什么是事件监…...
View绘制流程的源码所得
一些问题 子线程可以更新 UI 吗 答案是可以的,在特定的情况下可以 可以先在主线程中调用requestLayout() 方法,然后紧接着在子线程中更新UI(原理:不要在子线程触发 checkThread() 方法,而checkThread() 方法的调用时…...
企业级数据仓库-理论知识
D3 AM 大数据中间件 Hive:将SQL转化成分布式Map/Reduce进行运算,也支持转换成Spark,需要单独安装Hive集群才能访问Spark,支持60%的SQL,延迟比较大。SparkSQL:属于Spark生态圈,Hive on Sqark。HBase: NoSQL,高并发读,适…...
解决flutter不识别yaml里面配置的git项目
解决办法找到相应的 git路径,然后手动 git pull 暂时先用这个笨方法,后面有更好的解决办法了再说 studio 自己拉取的项目里面没有ios 和lib包...
rust结构体
一、定义结构体类型 语法 struct Name_of_structure {field1: data_type,field2: data_type,field3: data_type, }注意: 不同于C,Rust的struct语句仅用来定义类型,不能定义实例。 结尾不需要;。 每个字段定义之后用 , 分隔。最后一个逗号可…...
Python - 小玩意 - 键盘记录器
pip install keyboardimport keyboard import timedef get_time():date_time time.strftime("%Y-%m-%d %H:%S", time.localtime())return date_timedef abc(x):if x.event_type down:print(f"{get_time()}你按下了{x.name}")with open(./键盘记录器.txt,…...
msvcp71.dll丢失的解决方法分享,全面分析msvcp71.dll丢失原因
msvcp71.dll 丢失的问题可能困扰着许多使用 Windows 操作系统的用户。msvcp71.dll 是微软 C运行时库中的一个动态链接库文件,负责提供一些基本的函数和类,例如字符串处理、数学运算、文件操作等。如果这个文件丢失或损坏了,那么在使用依赖于它…...
stm32----ADC模数转换
一、ADC介绍 ADC,即模数转换器,它可以将模拟信号转化为数字信号。在stm32种一般有3个ADC,每个ADC有18个通道。 12位ADC是一种逐次逼近型模拟数字转换器,它有多达18个通道,可测量16个外部和两个内部信号源。各个通道的A…...
Unity SteamVR 开发教程:用摇杆/触摸板控制人物持续移动(2.x 以上版本)
文章目录 📕教程说明📕场景搭建📕创建移动的动作📕移动脚本⭐移动⭐实时调整 CharacterController 的高度 📕取消手部和 CharacterController 的碰撞 持续移动是 VR 开发中的一个常用功能。一般是用户推动手柄摇杆&…...
04条件构造器和常用接口
条件构造器和常用接口 wapper介绍 条件构造器的两个条件之间默认就是AND并列关系,如果需要或者的关系则需要调用构造器的or()方法 条件构造器类型作用Wrapper条件构造抽象类,最顶端父类AbstractWrapper生成SQL的where条件QueryWrapper封装查询或删除的条件UpdateWrapper封装修…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
tauri项目,如何在rust端读取电脑环境变量
如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖: std::env::var(name).ok() 想在前端通过调用来获取,可以写一个command函数: #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...
MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...
