package com.jzsoft.jbpm;
public class Document {
private int id;
private String title;
private String content;
private Long processInstanceId;
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Long getProcessInstanceId() {
return processInstanceId;
}
public void setProcessInstanceId(Long processInstanceId) {
this.processInstanceId = processInstanceId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class table="T_Document" name="com.bjsxt.jbpm.Document">
<id name="id">
<generator class="native"/>
</id>
<property name="title"/>
<property name="content"/>
<property name="processInstanceId"/>
</class>
</hibernate-mapping>
package com.jzsoft.jbpm;
import org.jbpm.JbpmConfiguration;
import junit.framework.TestCase;
public class Jbpm_01_CreateTable extends TestCase {
//创建数据库表
public void testCreateTable(){
JbpmConfiguration.getInstance().createSchema();
}
}
package com.jzsoft.jbpm;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.graph.def.ProcessDefinition;
import junit.framework.TestCase;
public class Jbpm_02_DeployProcessDefinition extends TestCase {
static JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
//将流程定义对象持久化到数据库
public void testDeployProcessDefinition(){
//读取流程定义文件,得到流程定义对象
ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("test01/processdefinition.xml");
//这个时候,我们可以从流程定义对象中得到它的名称(流程名称)
Persistence.setVariable("processName", processDefinition.getName());
//JbpmContext对象封装了hibernate session对象的功能,可以执行
//与数据库相关的操作
JbpmContext context = jbpmConfiguration.createJbpmContext();
try{
//持久化到数据库
context.deployProcessDefinition(processDefinition);
}catch(Exception e){
e.printStackTrace();
context.setRollbackOnly();
}finally{
context.close();
}
}
}