在将jBPM4.4与Spring2.5.6集成后,发现每次发布项目,或测试时,即:
Configuration configuration = new Configuration();
ProcessEngine processEngine = configuration.buildProcessEngine();
或
processEngine = Configuration.getProcessEngine();
或 在注入调用
private ProcessEngine processEngine;
public void setProcessEngine(ProcessEngine processEngine){
this.processEngine = processEngine;
}
jBPM4.4 都会创建jBPM4.4的系统表;经过查看jBPM的配置文件,发现 jbpm.hibernate.cfg.xml 中有一段:
<property name="hibernate.hbm2ddl.auto">create-drop</property>
hibernate.hbm2ddl.auto 配置参数
validate: 加载hibernate时,验证创建数据库表结构
create: 每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。
create-drop: 加载hibernate时创建,退出是删除表结构
update: 加载hibernate自动更新数据库结构
找到关键点,就将其修改为你需要的配置项或干脆删除这个配置项,自己手工维护数据库!