JBPM的jbpm.hibernate.cfg.xml有关配置

这段时间在学习jbpm4.4,每次重新启动tomcat,部署jbmp的web project!
以前的流程实例,流程定义都没有了记录

查看数据库
BPM4_DEPLOYMENT 流程定义表

JBPM4_EXECUTION 流程实例表
记录也是为空!

我想问题根结也就在于jbpm的数据库连接配置那里。

由于jbpm 例子中使用的HSQL,是测试库,数据运行在内存中

我使用的是sql server2005。
先看看配置吧:

 <session-factory>
 
  
     <property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
     <property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
     <property name="hibernate.connection.url">jdbc:sqlserver://192.168.1.233:1433;databasename=swoa;SelectMethod=cursor</property>
     <property name="hibernate.connection.username">sa</property>
     <property name="hibernate.connection.password">ahswoa1115</property>
     <property name="hibernate.hbm2ddl.auto">create-drop</property>
     <property name="hibernate.format_sql">true</property>
     
     <mapping resource="jbpm.repository.hbm.xml" />
     <mapping resource="jbpm.execution.hbm.xml" />
     <mapping resource="jbpm.history.hbm.xml" />
     <mapping resource="jbpm.task.hbm.xml" />
     <mapping resource="jbpm.identity.hbm.xml" />
     
  </session-factory>

很明晰的看出
<property name="hibernate.hbm2ddl.auto">create-drop</property>

看看hibernate.hbm2ddl.auto这属性是什么意思吧:
        其实这个参数的作用主要用于:自动创建|更新|验证数据库表结构。建议value="none"。

详细如下:

validate                加载hibernate时,验证创建数据库表结构。

create                   每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。

create-drop          加载hibernate时创建,退出是删除表结构

update                 加载hibernate自动更新数据库结构

      默认配置是create-drop。也就是在停止该服务器Tomcat,执行了drop操作,所以数据表都没了,只剩下一个空空的数据库。

你可能感兴趣的:(数据结构,tomcat,xml,Hibernate,jbpm)