`
Liebestraum
  • 浏览: 21996 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

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>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics