这段时间在学习jbpm4.4,每次重新启动tomcat,部署jbmp的web project!
以前的流程实例,流程定义都没有了记录
查看数据库
BPM4_DEPLOYMENT 流程定义表
JBPM4_EXECUTION 流程实例表
记录也是为空!
我想问题根结也就在于jbpm的数据库连接配置那里。
由于jbpm 例子中使用的HSQL,是测试库,数据运行在内存中
我使用的是sql server2005。
先看看配置吧:
很明晰的看出
看看hibernate.hbm2ddl.auto这属性是什么意思吧:
其实这个参数的作用主要用于:自动创建|更新|验证数据库表结构。建议value="none"。
详细如下:
validate 加载hibernate时,验证创建数据库表结构。
create 每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。
create-drop 加载hibernate时创建,退出是删除表结构
update 加载hibernate自动更新数据库结构
默认配置是create-drop。也就是在停止该服务器Tomcat,执行了drop操作,所以数据表都没了,只剩下一个空空的数据库。
以前的流程实例,流程定义都没有了记录
查看数据库
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操作,所以数据表都没了,只剩下一个空空的数据库。