Activiti表結構詳解

Activiti是一個輕量級的開源BPM平台,其採用了BPMN 2.0標準,提供了完整的BPMN流程設計、部署、運行和管理功能。在Activiti中,所有的流程定義都存儲在資料庫中。本文將從多個方面對Activiti表結構進行詳細的闡述。

一、 ACT_RE_EUROPA: EUROPA模型表

其中,EUROPA表示Easy-to-Use Rapid Object Process Application(易於使用的快速對象處理應用程序),是一個流程圖形化模型工具,其表結構如下:

CREATE TABLE act_re_europa (
  ID_ VARCHAR2(64) NOT NULL,
  REV_ NUMBER(19) DEFAULT NULL,
  RETIRED_ NUMBER(5) DEFAULT NULL,
  NAME_ VARCHAR2(255) DEFAULT NULL,
  JSON_ CLOB DEFAULT NULL,
  CONSTRAINT ACT_RE_EUROPA_PKEY PRIMARY KEY (ID_)
);

其中ID_為模型標識,REV_為模型版本號,RETIRED_為是否廢棄,NAME_為模型名稱,JSON_為模型的JSON格式。

二、ACT_RE_DEPLOYMENT: 部署表

部署是指將一個或多個流程定義文件部署到Activiti Engine中,每個部署對應一個部署ID。該表結構如下:

CREATE TABLE act_re_deployment (
  ID_ VARCHAR2(64) NOT NULL,
  NAME_ VARCHAR2(255) DEFAULT NULL,
  CATEGORY_ VARCHAR2(255) DEFAULT NULL,
  KEY_ VARCHAR2(255) DEFAULT NULL,
  TENANT_ID_ VARCHAR2(255) DEFAULT '',
  DEPLOY_TIME_ TIMESTAMP(6) NOT NULL,
  ENGINE_VERSION_ VARCHAR2(255) DEFAULT NULL,
  CONSTRAINT ACT_RE_DEPLOYMENT_PKEY PRIMARY KEY (ID_)
);

其中ID_為部署ID,NAME_為部署名稱,CATEGORY_為部署分類,KEY_為部署關鍵字,TENANT_ID_為租戶ID,DEPLOY_TIME_為部署時間,ENGINE_VERSION_為引擎版本號。

三、ACT_RE_PROCDEF: 流程定義表

流程定義是指在發布後,可用於創建一個或多個實例的「模板」。該表結構如下:

CREATE TABLE act_re_procdef (
  ID_ VARCHAR2(64) NOT NULL,
  NAME_ VARCHAR2(255) DEFAULT NULL,
  KEY_ VARCHAR2(255) NOT NULL,
  VERSION_ NUMBER(19) NOT NULL,
  CATEGORY_ VARCHAR2(255) DEFAULT NULL,
  DEPLOYMENT_ID_ VARCHAR2(64) NOT NULL,
  RESOURCE_NAME_ VARCHAR2(4000) NOT NULL,
  DGRM_RESOURCE_NAME_ VARCHAR2(4000) NOT NULL,
  DESCRIPTION_ VARCHAR2(4000) DEFAULT NULL,
  HAS_START_FORM_KEY_ NUMBER(1) DEFAULT NULL,
  HAS_GRAPHICAL_NOTATION_ NUMBER(1) DEFAULT NULL,
  SUSPENSION_STATE_ NUMBER(11) DEFAULT NULL,
  TENANT_ID_ VARCHAR2(255) DEFAULT '',
  HISTORY_TTL_ NUMBER(10) DEFAULT NULL,
  CONSTRAINT ACT_RE_PROCDEF_PKEY PRIMARY KEY (ID_)
);

其中ID_為流程定義ID,NAME_為流程定義名稱,KEY_為流程定義關鍵字,VERSION_為流程定義版本號,CATEGORY_為流程定義分類,DEPLOYMENT_ID_為部署ID,RESOURCE_NAME_為資源名稱,DGRM_RESOURCE_NAME_為圖像資源名稱,DESCRIPTION_為流程定義描述,HAS_START_FORM_KEY_為是否具有用戶啟動表單,HAS_GRAPHICAL_NOTATION_表示是否有圖形記錄,SUSPENSION_STATE_為掛起狀態,TENANT_ID_為租戶ID,HISTORY_TTL_為歷史紀錄的過期時間。

四、ACT_GE_BYTEARRAY: 二進位數據表

該表存儲BPM流程定義中的二進位內容。

CREATE TABLE act_ge_bytearray (
  ID_ VARCHAR2(64) NOT NULL,
  REV_ NUMBER(19) DEFAULT NULL,
  NAME_ VARCHAR2(4000) DEFAULT NULL,
  DEPLOYMENT_ID_ VARCHAR2(64) DEFAULT NULL,
  BYTES_ BLOB DEFAULT NULL,
  GENERATED_ NUMBER(1) DEFAULT NULL,
  CONSTRAINT ACT_GE_BYTEARRAY_PKEY PRIMARY KEY (ID_)
);

其中ID_為二進位數據ID,REV_為二進位數據版本號,NAME_為二進位數據名稱,DEPLOYMENT_ID_為部署ID,BYTES_為二進位數據內容。

五、ACT_HI_PROCINST: 流程實例歷史表

該表用於存儲已完成的流程實例信息,包括流程實例啟動人、開始、結束時間、是否掛起、結束方式、流程變數等信息。

CREATE TABLE act_hi_procinst (
  ID_ VARCHAR2(64) NOT NULL,
  PROC_INST_ID_ VARCHAR2(64) NOT NULL,
  BUSINESS_KEY_ VARCHAR2(255) DEFAULT NULL,
  PROC_DEF_ID_ VARCHAR2(64) NOT NULL,
  START_TIME_ TIMESTAMP(6) NOT NULL,
  END_TIME_ TIMESTAMP(6) DEFAULT NULL,
  DURATION_ NUMBER(19) DEFAULT NULL,
  START_USER_ID_ VARCHAR2(255) DEFAULT NULL,
  START_ACT_ID_ VARCHAR2(255) DEFAULT NULL,
  END_ACT_ID_ VARCHAR2(255) DEFAULT NULL,
  DELETE_REASON_ VARCHAR2(4000) DEFAULT NULL,
  SUPER_PROCESS_INSTANCE_ID_ VARCHAR2(64) DEFAULT NULL,
  ROOT_PROC_INST_ID_ VARCHAR2(64) DEFAULT NULL,
  TENANT_ID_ VARCHAR2(255) DEFAULT '',
  CONSTRAINT ACT_HI_PROCINST_PKEY PRIMARY KEY (ID_)
);

其中ID_為流程歷史ID,PROC_INST_ID_為流程實例ID,BUSINESS_KEY_為流程實例業務關鍵字,PROC_DEF_ID_為流程定義ID,START_TIME_為流程實例啟動時間,END_TIME_為流程結束時間,DURATION_為流程持續時間,START_USER_ID_為流程實例啟動人ID,START_ACT_ID_為開始節點ID,END_ACT_ID_為結束節點ID,DELETE_REASON_為流程實例刪除原因,SUPER_PROCESS_INSTANCE_ID_為父流程實例ID,ROOT_PROC_INST_ID_為根流程實例ID。

六、ACT_HI_TASKINST: 任務歷史表

該表用來保存已完成的任務實例信息,包括任務名稱、任務處理人、任務結束時間等。

CREATE TABLE act_hi_taskinst (
  ID_ VARCHAR2(64) NOT NULL,
  PROC_DEF_ID_ VARCHAR2(64) DEFAULT NULL,
  TASK_DEF_KEY_ VARCHAR2(255) DEFAULT NULL,
  PROC_INST_ID_ VARCHAR2(64) DEFAULT NULL,
  EXECUTION_ID_ VARCHAR2(64) DEFAULT NULL,
  NAME_ VARCHAR2(255) DEFAULT NULL,
  PARENT_TASK_ID_ VARCHAR2(64) DEFAULT NULL,
  DESCRIPTION_ VARCHAR2(4000) DEFAULT NULL,
  OWNER_ VARCHAR2(255) DEFAULT NULL,
  ASSIGNEE_ VARCHAR2(255) DEFAULT NULL,
  START_TIME_ TIMESTAMP(6) NOT NULL,
  CLAIM_TIME_ TIMESTAMP(6) DEFAULT NULL,
  END_TIME_ TIMESTAMP(6) DEFAULT NULL,
  DURATION_ NUMBER(19) DEFAULT NULL,
  DELETE_REASON_ VARCHAR2(4000) DEFAULT NULL,
  TASK_DEF_TYPE_ VARCHAR2(255) DEFAULT NULL,
  PRIORITY_ NUMBER(10) DEFAULT NULL,
  DUE_DATE_ TIMESTAMP(6) DEFAULT NULL,
  FORM_KEY_ VARCHAR2(4000) DEFAULT NULL,
  CATEGORY_ VARCHAR2(255) DEFAULT NULL,
  TENANT_ID_ VARCHAR2(255) DEFAULT '',
  CLAIM_TIME_NULL_REPRESENTS_WAIT_STATE_ NUMBER(5) DEFAULT 0,
  CONSTRAINT ACT_HI_TASKINST_PKEY PRIMARY KEY (ID_)
);

其中ID_為任務實例ID,PROC_DEF_ID_表示任務流程定義ID,TASK_DEF_KEY_表示任務定義的key值,PROC_INST_ID_表示流程實例ID, EXECUTION_ID_表示執行ID,NAME_表示任務名稱,PARENT_TASK_ID_表示父任務ID,DESCRIPTION_為任務描述,OWNER_為任務擁有者,ASSIGNEE_為任務處理人,START_TIME_為任務開始時間,CLAIM_TIME_為任務簽收時間,END_TIME_為任務結束時間,DURATION_為任務持續時間,DELETE_REASON_為任務刪除原因,TASK_DEF_TYPE_為任務類型,PRIORITY_為任務優先順序,DUE_DATE_為任務到期時間,FORM_KEY_為任務表單key值,CATEGORY_為任務分類,TENANT_ID_為租戶ID。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/259526.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 16:29
下一篇 2024-12-15 16:29

相關推薦

  • Vue TS工程結構用法介紹

    在本篇文章中,我們將從多個方面對Vue TS工程結構進行詳細的闡述,涵蓋文件結構、路由配置、組件間通訊、狀態管理等內容,並給出對應的代碼示例。 一、文件結構 一個好的文件結構可以極…

    編程 2025-04-29
  • Python程序的三種基本控制結構

    控制結構是編程語言中非常重要的一部分,它們指導著程序如何在不同的情況下執行相應的指令。Python作為一種高級編程語言,也擁有三種基本的控制結構:順序結構、選擇結構和循環結構。 一…

    編程 2025-04-29
  • Lidar避障與AI結構光避障哪個更好?

    簡單回答:Lidar避障適用於需要高精度避障的場景,而AI結構光避障更適用於需要快速響應的場景。 一、Lidar避障 Lidar,即激光雷達,通過激光束掃描環境獲取點雲數據,從而實…

    編程 2025-04-27
  • Activiti 6自動部署後不生成資料庫act_hi_*的解決方法

    本文將從多個方面詳細闡述Activiti 6自動部署後不生成資料庫act_hi_*的問題,並提供對應的代碼示例。 一、問題分析 在使用Activiti 6部署流程後,我們發現act…

    編程 2025-04-27
  • 神經網路代碼詳解

    神經網路作為一種人工智慧技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網路的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網路模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁碟中。在執行sync之前,所有的文件系統更新將不會立即寫入磁碟,而是先緩存在內存…

    編程 2025-04-25
  • git config user.name的詳解

    一、為什麼要使用git config user.name? git是一個非常流行的分散式版本控制系統,很多程序員都會用到它。在使用git commit提交代碼時,需要記錄commi…

    編程 2025-04-25
  • Linux修改文件名命令詳解

    在Linux系統中,修改文件名是一個很常見的操作。Linux提供了多種方式來修改文件名,這篇文章將介紹Linux修改文件名的詳細操作。 一、mv命令 mv命令是Linux下的常用命…

    編程 2025-04-25
  • Python輸入輸出詳解

    一、文件讀寫 Python中文件的讀寫操作是必不可少的基本技能之一。讀寫文件分別使用open()函數中的’r’和’w’參數,讀取文件…

    編程 2025-04-25
  • 詳解eclipse設置

    一、安裝與基礎設置 1、下載eclipse並進行安裝。 2、打開eclipse,選擇對應的工作空間路徑。 File -> Switch Workspace -> [選擇…

    編程 2025-04-25

發表回復

登錄後才能評論