日期:2014-05-16  浏览次数:20382 次

jbpm4 数据库结构关系图

持久化基础知识

???????持久化(?Persistence?),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、?XML?数据文件中等等。

??????我们可以这样理解:

  在一定周期内保持不变就是持久化?,?持久化是针对时间来说的?.

  数据库中的数据就是持久化了的数据?,?只要你不去删除或修改?.

  ?Session?会话中?Session?对象变量也是不变的?,?是?Session?容器中持久化

  ?对象持久化?的方式有很多种?,?根据周期不同有?,page,Session,Application,

对象序列化机制对于需要将对象的状态保存到文件中,而后能够通过读入对象状态来重新构造对象,恢复程序状态?,

对象序列化的过程是对象持久化的方法之一?,?把对象保存到文件中?.

广义上说我们需要持久化是由于内存的易失性和过于昂贵造成的。

JBPM?流程引擎的持久化有什么特点

???????JBPM?流程引擎的持久化层使用的当前流行的?ORM?框架?hibernate?,得益于?hibernate?的一些强大特性,导致?JBPM?也具有了这样的一些特性,比如通过?hibernate?的?HSQL?,我们可以专注我们的业务逻辑,而不用考虑不同的数据库之间?T-SQL?的差异,这样是?jbpm?具备一套代码,可以平滑的从不同数据库间进行更换。

???????JBPM?需要持久化?基于以下特点

1.???????工作流作为典型的交互性应用,其必须精细控制执行过程,并记录执行的状态,在用户唤醒流程时,能够在流程持久化的那个点继续运行。同时在流程挂起时,我们将相关数据持久化,也有性能和故障恢复的考虑。

2.???????流程引擎的运行本身也会产生相关的对象?(?流程实例、?Execution?等?)?,需要持久化到数据库

3.???????流程引擎需要记录相关的业务数据