Jbpm把流程定义和流程执行都会持久化到数据库中,所以我们需要在数据库中创建所需的数据库表,数据库表的创建有以下三种方式。
1.手工创建 
    在入门套件解压后的jbpm-db\build目录中有已经生成好的创建各种数据库的数据库表的脚本文件,我们只需要使用相应脚本文件在数据库中创建表即可。
    如果不存在脚本文件,可以参考使用jbpm-db下的build.xml中的任务生成脚本,具体不再详述。
2.Ant任务创建 
    如下Ant任务脚本:
<target name="create.db2" depends="" description="creates database with the jbpm tables">
    <taskdef name="jbpmschema" classname="org.jbpm.ant.JbpmSchemaTask">
        <classpath refid="classpath.ant" />
    </taskdef>
    <jbpmschema actions="create"
                cfg="${basedir}/config.files/hibernate.cfg.xml"
                properties="${basedir}/config.files/create.db.hibernate.properties"/>
</target>
需要两个配置文件hibernate.cfg.xml(位于入门套件解压后的jbpm\src\config.files文件夹中)和create.db.hibernate.properties(位于入门套件解压后的jbpm\src\resources\hsqldb文件夹中),这两个文件指定了Hibernate的配置信息,可以直接从发行包中拷贝使用,具体位置和数据库连接信息根据实际情况调整。classpath.ant定义为指向Jbpm库(还包括相关库,如Hibernate相关库)。
    也可以把创建库表的任务与流程定义的打包和部署集成起来使用,请参考build.depoly.xml(位于入门套件解压后的jbpm文件夹中)中的create.db任务。
3.编程创建 
//获取配置实例,默认是根据default.jbpm.cfg.xml。
        //也可以根据指定的配置文件获取配置实例。
        JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
        //创建数据库表            
        jbpmConfiguration.createSchema();
    以上代码的执行需要依赖Hibernate的配置文件hibernate.cfg.xml。
注:在创建数据表之前,数据表所在数据库必须已经存在。即只是创建Table,而把Table创建在哪个Database中,该Database必须已经存在。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mrshan/archive/2006/08/19/1097861.aspx