JBPM3.2.2的BUG

JBPM3.2.2中的BUG,在3.2.2中 你是否遇到了Errors in named queries: GraphSession.findTokensForProcessInNode 这样的错误?
请打开hibernate.queries.hbm.xml这个文件 查看这段代码:
<query name="GraphSession.findTokensForProcessInNode">
<![CDATA[
select token
from org.jbpm.graph.exe.Token token
where token.processInstance.processDefinition.name = :processDefinitionName
and node.name = :nodeName
]]>
</query>
看到没?
它node属性缺少了对象了:应该将代码改成:
<query name="GraphSession.findTokensForProcessInNode">
<![CDATA[
select token
from org.jbpm.graph.exe.Token token
where token.processInstance.processDefinition.name = :processDefinitionName
and token.node.name = :nodeName
]]>
</query>
你是否遇到否遇到了Errors in named queries: GraphSession.deleteJobsForProcessInstance。。。。这样的错误
请将以下代码:
<query name="GraphSession.deleteTaskInstancesById">
<![CDATA[
delete
from org.jbpm.taskmgmt.exe.TaskInstance t
where t.id in (:taskInstanceIds)
]]>
</query>
<query name="GraphSession.deleteJobsForProcessInstance">
<![CDATA[
delete from org.jbpm.job.Job job
where job.processInstance = :processInstance
]]>
</query>
<query name="JobSession.suspendJobs">
<![CDATA[
update org.jbpm.job.Job job
set job.isSuspended = true
where job.token = :token
]]>
</query>
<query name="JobSession.resumeJobs">
<![CDATA[
update org.jbpm.job.Job job
set job.isSuspended = false
where job.token = :token
]]>
</query>
<query name="JobSession.deleteTimersForProcessInstance">
<![CDATA[
delete from org.jbpm.job.Timer timer
where timer.processInstance = :processInstance
]]>
</query>
<query name="JobSession.deleteExecuteNodeJobsForProcessInstance">
<![CDATA[
delete from org.jbpm.job.ExecuteNodeJob executeNodeJob
where executeNodeJob.processInstance = :processInstance
]]>
</query>
改成:
<!-- ###################################################### -->
<query name="GraphSession.deleteTaskInstancesById">
<![CDATA[
delete
from org.jbpm.taskmgmt.exe.TaskInstance
where id in (:taskInstanceIds)
]]>
</query>
<query name="GraphSession.deleteJobsForProcessInstance">
<![CDATA[
delete from org.jbpm.job.Job
where processInstance = :processInstance
]]>
</query>
<query name="JobSession.suspendJobs">
<![CDATA[
update org.jbpm.job.Job
set isSuspended = true
where token = :token
]]>
</query>
<query name="JobSession.resumeJobs">
<![CDATA[
update org.jbpm.job.Job
set isSuspended = false
where token = :token
]]>
</query>
<query name="JobSession.deleteTimersForProcessInstance">
<![CDATA[
delete from org.jbpm.job.Timer
where processInstance = :processInstance
]]>
</query>
<query name="JobSession.deleteExecuteNodeJobsForProcessInstance">
<![CDATA[
delete from org.jbpm.job.ExecuteNodeJob
where processInstance = :processInstance
]]>
</query>
并在你的hibernateProperties属性中将以下添加:
<prop key="hibernate.query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory</prop>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值