zoukankan      html  css  js  c++  java
  • JBPM流程部署之部署数据表分析

    JBPM流程部署之部署数据表分析 

       

          JBPM流程部署xml格式的流程定义,虽然引擎默认的在发布完后就直接将流程定义实体缓存,以方便以后的流程运行流转使用,避免不必要的数据库访问,但是这些缓存直接存储在内存中,很容易就会丢失掉,比如重启服务器等,所以最终我们还是需要持久化到数据库里。今天我们来了解一下JBPM与流程部署相关的数据库表。

          JBPM的持久化层使用的是Java中被广泛使用的ORM框架Hibernate,下面我们看一下JBPM流程部署实体-数据表关系,其关系如下图所示

         

          本来打算使用visio好好的画个图,但是无奈自己能力有限,只能画了个简单的图,下面我们简单的介绍一下

           DeploymentImpl  是流程部署的主表,只是简单的记录了一下流程的名称、唯一标示和部署的状态

           Lob  是保存xml格式流程定义的,流程部署时的流程xml最终都会序列化成二进制形式保存到这个表里;但是这个表同时也保存运行时的变量数据。

                           一个部署可以对应多个流程定义数据,即是DeploymentImpl和Lob是一对多的关系

           DeploymentProperty  记录流程部署的相关信息,比如流程定义(ProcessDefinitionImpl)的pdid,流程定义的pdkey、流程定义的langid、流程定义的

                          pdversion;一个流程部署对应一组流程定义相关信息实体,即Deploymentimpl和DeploymentProperty是一对一的关系,但是一个DeploymentImpl

                          对应四个DeploymentProperty记录

           综上所述,我们可以知道JBPM4_DEPLOYMENT的主键是JBPM4_DEPLOYPROP和JBPM4_Lob的外键

          下面我们列表分析一下个表字段以及对应的实体字段的意义

           JBPM4_DEPLOYMENT    对应实体DeploymentImpl



    字段名称数据类型 是否主键是否外键是否可为null实体字段业务意义
    DBID_bigintPK notdbid主键标示
    NAME_longtext name
    流程名称
    TIMESTAMP_bigint timestamp部署时间
    STATE_ varchar(255) state部署状态

            JBPM4_DEPLOYPROP     对应实体为DeploymentProperty



    字段名称数据类型 是否主键是否外键  是否可为null实体字段业务意义
    DBID_bigintPK notdbid主键标示
    DEPLOYMENT_bigint FK deployment部署标示
    OBJNAME_varchar(255) bjectName 部署名称
    KEY_varchar(255) key标示本条记录的属性,值为langid、pdid、pdkey、pdversion之一
    STRINGVAL_varchar(255) stringValue保存非pdversion对应的值
    LONGVAL_bigint longValue保存Pdversion对应的版本号

               JBPM4_LOB    对应实体为Lob

    字段名称数据类型 是否主键是否外键 是否可为null实体字段业务意义
    DBID_bigintPK notdbid主键标示
    DBVERSION_integer notdbversion
    乐观并发控制
    BLOB_VALUElongblob blob保存流程定义或者变量的二进制形式的资源
    DEPLOYMENT_ bigint FK deployment部署标示
    NAME_longtext text流程定义或者变量的资源的名称




     

    --

     



     

  • 相关阅读:
    修改浏览器滚动条样式
    js实现无缝轮播
    JS (canvas) 两个小球碰撞
    js里div随着鼠标一起移动
    js的动态加载、缓存、更新以及复用
    js阻止事件冒泡的两种方法
    核心DOM和html DOM的区别
    JavaScript 事件流、事件处理程序及事件对象总结
    css3 实现飞入由小变大
    简单手写js轮播
  • 原文地址:https://www.cnblogs.com/wufengtinghai/p/2152571.html
Copyright © 2011-2022 走看看