</pre><pre name="code" class="java"><span style="font-size:18px;"><strong><span style="color:#FF0000;">创建jbpm4.4的schema</span></strong></span>
<span style="color:#FF0000;">jbpm.hibernate.cfg.xml的配置</span>
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/jbpm?characterEncoding=UTF-8</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.hbm2ddl.auto">create-drop</property>
<property name="hibernate.show_sql">true</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>
</hibernate-configuration>
<span style="color:#FF0000;">数据库方言设置:</span>
mysql:MySQLDialect
sqlserver:SQLServerDialect
oracle:OracleDialect
ProcessEngine processEngine = (new Configuration()).setResource(resource).buildProcessEngine();
processEngine = Configuration.getProcessEngine();
//spring AOP注入
private ProcessEngine processEngine;
public void setProcessEngine(ProcessEngine processEngine){
this.processEngine = processEngine;
}
<span style="color:#FF0000;">如果您使用mysql数据库,创建jbpm4.4的schema成功后,需重置数据库方言</span><pre name="code" class="java"><span style="color:#FF0000;">修改jbpm.hibernate.cfg.xml的配置</span><pre name="code" class="java"><property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
修改hibernate.hbm2ddl.auto 配置参数
<property name="hibernate.hbm2ddl.auto">update</property>
<span style="color:#FF0000;">参数值解释:</span>
<pre>validate: 加载hibernate时,验证创建数据库表结构
create:每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。
create-drop:加载hibernate时创建,退出是删除表结构
update:加载hibernate自动更新数据库结构
流程部署
ProcessEngine processEngine = Configuration.getProcessEngine();
repositoryService = processEngine.getRepositoryService();
repositoryService.createDeployment().addResourceFromClasspath("com/test/node/task/contract.jpdl.xml").deploy();
至此,创建好了jbpm的schema并且完成了业务流程的部署