jBPM數據庫表的創建
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必須已經存在。
【編輯推薦】