jbpm 查询该版本流程实例列表
雨天wxp 2010-05-17 11:30:48 jbpm 查询该版本流程实例列表
最近我做个jbpm工作流例子, 当我使用 查询该版本流程实例列表 查看已经存在的工作实例就会报错:
org.apache.jasper.JasperException: ProcessInstance is not mapped [from ProcessInstance as pi where pi.processDefinition.id = ?]
程序中是这样写的:
List processInstances = hibernateSession.createQuery("from ProcessInstance as pi where pi.processDefinition.id = ?")
.setParameter(0,Long.parseLong(processDefinitionId)).list();
把传过来的processDefinitionId传入去查询已存在的流程实例, 就会发生这样的报错,这里的意思是找不到映射, 但我查看了映射文件有这个
属性的映射:
<hibernate-mapping auto-import="false" default-access="field">
<class name="org.jbpm.graph.def.ProcessDefinition"
table="JBPM_PROCESSDEFINITION"
discriminator-value="P">
<id name="id" column="ID_"><generator class="native" /></id>
<discriminator type="char" column="CLASS_" />
而class文件中去没有标明有这个id的存在:
public class ProcessDefinition extends GraphElement
implements NodeCollection {
private static final long serialVersionUID = 1L;
protected int version;
protected boolean isTerminationImplicit;
protected Node startState;
protected List nodes;
transient Map nodesMap;
protected Map actions;
protected Map definitions;
是不是因为id是native,所以在类中就不用标明这个变更属性?
如果是为什么“from ProcessInstance as pi where pi.processDefinition.id = ?”就找不到processDefinition.id 了?
如果不能不标明,那这个是jbpm自带的类和映射文件是不是就有问题了?
请高手指明,谢谢!