大家帮我看下,这个错误是我在部署流程定义文件的时候的错误,
         我的部署流程源码
                // 部署流程定义
public void desploy(){

// 通过jbpm的配置文件创建jbpmContext工厂,并通过工厂创建一个jbpmContext实例。
JbpmConfiguration jbpmCfg = JbpmConfiguration.getInstance("jbpm.cfg.xml");

JbpmContext jbpmContext = jbpmCfg.createJbpmContext();

// 通过资源文件载入工作流程定义
InputStream input = this.getClass().getResourceAsStream("/processdefinition/processdefinition.xml");
ProcessDefinition pd = ProcessDefinition.
                                  parseXmlInputStream(input);
try{
// 部署流程定义
jbpmContext.deployProcessDefinition(pd);
}catch(RuntimeException e){
// 如果出现异常,则回滚
jbpmContext.setRollbackOnly();
throw e;
}finally{
// 如果没有出现异常,则保存后关闭,否则回滚后关闭
jbpmContext.close();
}
}
/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
        JbpmTest jt = new JbpmTest();
        jt.desploy();
}
    运行时候出的错误
      11:43:42,453 ERROR JDBCExceptionReporter:78 - Unknown column 'processdef0_.DESCRIPTION_' in 'field list'
11:43:42,453 ERROR GraphSession:156 - org.hibernate.exception.SQLGrammarException: could not execute query
Exception in thread "main" org.jbpm.JbpmException: couldn't find process definition 'processdefinition.xml'
at org.jbpm.db.GraphSession.findLatestProcessDefinition(GraphSession.java:158)
at org.jbpm.db.GraphSession.deployProcessDefinition(GraphSession.java:67)
at org.jbpm.JbpmContext.deployProcessDefinition(JbpmContext.java:173)
at com.ibm.qjy.test.JbpmTest.desploy(JbpmTest.java:27)
at com.ibm.qjy.test.JbpmTest.main(JbpmTest.java:43)
Caused by: org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2223)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:811)
at org.jbpm.db.GraphSession.findLatestProcessDefinition(GraphSession.java:154)
... 4 more
Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'processdef0_.DESCRIPTION_' in 'field list'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3176)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1153)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1266)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
at org.hibernate.loader.Loader.doQuery(Loader.java:674)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
... 13 more

解决方案 »

  1.   

    ERROR JDBCException 是数据库错误.
    Unknown column 'processdef0_.DESCRIPTION_' in 'field list' 
    未知列名称processdef0_.DESCRIPTION_
    processdefinition.xml无法执行.是字段错误吧,检查一下部署文件
      

  2.   

       部署文件具体指那个啊,那个列是哪来的啊,jbpm的数据库中也没有啊。
      

  3.   

    找不到processdefinition.xml,看一下InputStream input是否得到了正确的配置文件。Exception in thread "main" org.jbpm.JbpmException: couldn't find process definition 'processdefinition.xml' 
      

  4.   

    你配置下hibernate重新生成一下jbpm的表
      

  5.   

    Unknown column 'processdef0_.DESCRIPTION_' in 'field list' 看看你的配置文件的列和你的数据库的字段是否对应。
      

  6.   

    InputStream input = this.getClass().getResourceAsStream("/processdefinition/processdefinition.xml");
    processdefinition.xml路径不对