首页 > 解决方案 > 部署 jbpm 应用程序时命名查询出错

问题描述

我是 JBPM 的新手,并尝试在 JBoss EAP 7 上部署一个我在教程中找到的 Web 应用程序。我遇到了一个错误:

命名查询中的错误:TasksAssignedAsPotentialOwnerByGroup:org.hibernate.QueryException:无法解析属性:名称:org.jbpm.services.task.impl.model.TaskImpl [选择不同的新 org.jbpm.services.task.query.TaskSummaryImpl( t.id, t.name, t.subject, t.description, t.taskData.status, t.priority, t.taskData.actualOwner.id, t.taskData.createdBy.id, t.taskData.createdOn, t. taskData.activationTime, t.taskData.expirationTime, t.taskData.processId, t.taskData.processInstanceId, t.taskData.parentId, t.taskData.deploymentId, t.taskData.skipable ) 来自 org.jbpm.services.task.impl .model.TaskImpl t join t.peopleAssignments.potentialOwners potentialOwners where t.archived = 0 and t.taskData.actualOwner = null and t.taskData.status in ('Created', 'Ready', 'Reserved', 'InProgress', 'Suspended') 和 potentialOwners.id = :groupId order by t.id DESC] at org.hibernate.QueryException.generateQueryException(QueryException.java:120) at org.hibernate.QueryException.wrapWithQueryString(QueryException.java:103) at org. hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:218) 在 org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:142) 在 org.hibernate.engine.query.spi。 HQLQueryPlan.(HQLQueryPlan.java:115) 在 org.hibernate.engine.query.spi.HQLQueryPlan.(HQLQueryPlan.java:76) 在 org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:150)在 org.hibernate.internal 的 org.hibernate.internal.NamedQueryRepository.checkNamedQueries(NamedQueryRepository.java:155)。org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:492) 的 SessionFactoryImpl.checkNamedQueries(SessionFactoryImpl.java:796) org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:422) org.hibernate。 jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:880) at org.jboss.as.jpa.hibernate5.TwoPhaseBootstrapImpl.build(TwoPhaseBootstrapImpl.java:44) at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1 $1.run(PersistenceUnitServiceImpl.java:167) at org.jboss.as.jpa.service.PersistenceUnitServiceImpl $1$1.run(PersistenceUnitServiceImpl.java:125) at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java: 640)在 org.jboss.as.jpa.service。PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:209) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java. org.jboss.threads.JBossThread.run(JBossThread.java:320) 处的 lang.Thread.run(Thread.java:748) 原因:org.hibernate.QueryException:无法解析属性:名称:org.jbpm。 services.task.impl.model.TaskImpl at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:62) at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:56) at org. hibernate.persister.entity.AbstractEntityPersister.toType(AbstractEntityPersister.java:1855) 在 org.hibernate.hql.internal.ast.tree.FromElementType.getPropertyType(FromElementType.java:393) 在 org.hibernate.hql.internal.ast.tree.FromElement.getPropertyType(FromElement.java:504) 在 org.hibernate.hql。 internal.ast.tree.DotNode.getDataType(DotNode.java:660) 在 org.hibernate.hql.internal.ast.tree.DotNode.prepareLhs(DotNode.java:264) 在 org.hibernate.hql.internal.ast。 tree.DotNode.resolve(DotNode.java:204) 在 org.hibernate.hql.internal.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:109) 在 org.hibernate.hql.internal.ast.tree.FromReferenceNode。在 org.hibernate.hql.internal.ast.HqlSqlWalker.resolveSelectExpression(HqlSqlWalker.java:第1045章.internal.antlr.HqlSqlBaseWalker.selectExpr(HqlSqlBaseWalker.java:2358) 在 org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectExprList(HqlSqlBaseWalker.java:2228) 在 org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectClause (HqlSqlBaseWalker.java:1499) 在 org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:583) 在 org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:311) 在org.hibernate.hql 中的 org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:259)。internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:262) 在 org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:190) ... 还有 18 个

我验证了 TaskImpl 类是在 persistence.xml 中定义的。这些命名查询是在 Taskorm.xml 中定义的。有什么建议么?

标签: jbpm

解决方案


发现问题并在此处发布以造福他人。TaskImpl 类在 jbpm 6 和 7 之间发生了变化。我对 v6 jar 文件使用 v7 Taskorm.xml


推荐阅读