`
Kevin12
  • 浏览: 236136 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

org.jbpm.api.JbpmException: no jBPM DB schema: no JBPM4_EXECUTION table

    博客分类:
  • Java
阅读更多
链接地址:http://kevin12.iteye.com/blog/1949491

问题如下:
九月 30, 2013 2:24:14 下午 org.jbpm.internal.log.Jdk14Log info
信息: exception while executing command org.jbpm.pvm.internal.cmd.CheckDbCmd@2bfb3f37
org.jbpm.api.JbpmException: no jBPM DB schema: no JBPM4_EXECUTION table.   Run the create.jbpm.schema target first in the install tool.
	at org.jbpm.pvm.internal.cmd.CheckDbCmd.execute(CheckDbCmd.java:50)
	at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
	at org.jbpm.pvm.internal.tx.SpringCommandCallback.doInTransaction(SpringCommandCallback.java:45)
	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
	at org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:49)
	at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
	at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
	at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56)
	at org.jbpm.pvm.internal.processengine.ProcessEngineImpl.checkDb(ProcessEngineImpl.java:152)
	at org.jbpm.pvm.internal.processengine.SpringProcessEngine.create(SpringProcessEngine.java:70)
	at org.jbpm.pvm.internal.cfg.ConfigurationImpl.buildProcessEngine(ConfigurationImpl.java:90)
	at org.jbpm.pvm.internal.processengine.SpringHelper.createProcessEngine(SpringHelper.java:50)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)

最近将jbpm4.4项目用的数据库由sqlserver改成oracle 11g的,在配置hibernate时候出现了上面的错误,在网上没有查到原因,但是根据打印的错误仔细分析后,猜测可能是数据库方言的问题,因为之前将sqlserver数据库改成mysql时候有过类似的问题,只不过当时没有记录下来,现在记录一下,以防后用。
hibernate连接不同数据库有不同的方言,下面列出来如下:
mysql的方言:
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>

sqlserver的方言:
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>

oracle 的方言:
<property name="dialect">org.hibernate.dialect.OracleDialect</property>

但是配置好相应数据库的方言后,项目就可以正常运行了,但是有一个地方要注意的是,在java项目中执行数据库的增删改查时候有时候数据库字段类型和java的数据类型转换会出现问题,这时候就要重新方言了,下面我列出重写mysql和sqlserver方言的例子:
也可以参考我之前写的帖子:http://kevin12.iteye.com/blog/1815460
对于mysql的:
package com.sense.workflow.util;
import java.sql.Types;
import org.hibernate.Hibernate;
import org.hibernate.dialect.MySQLInnoDBDialect;
/**
 * mysql注册类型映射
 * @author lujinyong
 *
 */
public class ExtMySQL5Dialect  extends MySQLInnoDBDialect{
	public ExtMySQL5Dialect(){
		super();
		this.registerHibernateType(Types.LONGVARCHAR, Hibernate.STRING.getName());
		}
}


对于sqlserver的:
package com.sense.workflow.util;
import java.sql.Types;
import org.hibernate.Hibernate;
import org.hibernate.dialect.SQLServerDialect;
/**
 * sqlserver2008注册类型映射
 * @author lujinyong
 *
 */
public class SqlServer2008Dialect extends SQLServerDialect{
	public SqlServer2008Dialect() {   
        super();   
        registerHibernateType(Types.CHAR, Hibernate.STRING.getName());   
        registerHibernateType(Types.VARCHAR, Hibernate.STRING.getName());   
        registerHibernateType(Types.LONGVARCHAR, Hibernate.STRING.getName());   
        registerHibernateType(Types.DECIMAL, Hibernate.DOUBLE.getName()); 
        registerHibernateType(Types.LONGVARCHAR, Hibernate.TEXT.getName()); 
    }   
}


在hibernate中的引用如下:
<prop key="hibernate.dialect">com.sense.workflow.util.ExtMySQL5Dialect </prop>

<prop key="hibernate.dialect">com.sense.workflow.util.SqlServer2008Dialect</prop>

oracle的暂时还没有写,以后添加上。

链接地址:http://kevin12.iteye.com/blog/1949491
分享到:
评论

相关推荐

    jbpm jbpm4.3.jar

    jbpm jbpm4.3.jar DDDDDDDD

    JBPM帮助文档供大家学习

    org.jbpm.api.model common process execution model interfaces used in services and delegation interfaces like ActivityBehaviour and EventListener. org.jbpm.api.task interfaces related to the ...

    jbpm-3.1.2.zip_jbpm_jbpm 3.1.2_jbpm-3.1.2.rar_jbpm3.1.2_工作流

    jbpm-3.1.2.zip 文件包含了 jBpm 的一个重要版本——jBpm 3.1.2,这是一个开源的工作流管理系统,专为构建灵活且可扩展的业务流程解决方案而设计。jBpm 提供了一种方式,使得开发者能够用简单而强大的语言来表达业务...

    jBPM3.2.rar_JBPM3.2_jbpm_jbpm 3.2_jbpm3_jbpm3.2教程

    **jbPM 3.2 知识点详解** jbPM,全称为Java Business Process Management,是一个开源的工作流管理系统,主要用于企业级应用中的业务流程管理。jbPM 3.2是该系统的一个版本,它提供了丰富的功能,包括流程设计、...

    jbpm_websale.rar_JSF_java JBPM_jbpm_jbpm websale_websale jb

    【jbpm_websale.rar】是一个包含JBPM(Business Process Management)网上销售示例的压缩包,这个实例对于初学者理解和掌握JBPM技术及其在Java Web应用中的实践非常有帮助。该实例结合了JSF(JavaServer Faces)前端...

    JBPM4 java源代码分包详解JBPM4

    12. **org.jbpm.pvm.internal.jms**: 与JMS(Java Message Service)集成,用于处理异步消息传递,例如通过`JmsMessageSession`和`JmsMessageUtil`与`org.jbpm.api.job.Message`进行交互。 13. **org.jbpm.pvm....

    JBPM4.4所需要的包.rar

    3. **jbpm.jar**: 这是JBPM的主要库文件,包含了流程引擎、工作流服务、持久化等核心功能。它提供了对流程定义、实例管理、任务分配、事件处理等功能的支持,使得开发者可以轻松地集成业务流程到Java应用中。 4. **...

    JBPM采购申请系统——08_JBPM流程节点.7z

    JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM...

    jbpm数据库表字段详解

    4. JBPM_ACTION表 JBPM_ACTION表存储了流程动作的信息。该表的字段包括: * ID_:流程动作的唯一标识 * NAME_:流程动作的名称 * CLASS_:流程动作分类:A(动作),S(脚本),C(创建定时器),I(取消定时器) ...

    chen-jbpm_websale.zip_jbmp_jbmp java_jbpm_jbpm_websale_网上销售系统

    【标题】"chen-jbpm_websale.zip_jbmp_jbmp_java_jbpm_jbpm_websale_网上销售系统" 提供的是一个基于JBPM(Java Business Process Management)技术的网上销售系统的示例项目。JBPM是一个开源的工作流管理系统,它...

    jbpm4.rar_jbpm_jbpm designer_jbpm4

    jbpm4.doc文件可能包含了关于jBPM 4的详细文档,包括如何安装和配置jBPM环境,使用jBPM Designer创建和编辑流程,以及如何集成jBPM到Java应用程序中的步骤。文档可能还涵盖了jBPM 4的新特性、最佳实践和常见问题解答...

    jbpm-5.0.0-installer.zip_jbpm_jbpm 5.0_jbpm installer

    【jbpm-5.0.0-installer.zip_jbpm_jbpm 5.0_jbpm installer】这个压缩包是JBoss Business Process Management (jbpm) 的5.0版本安装程序,它提供了完整的jbpm源代码,让我们来深入探讨一下jbpm以及它的5.0版本。...

    jbpm4leave.zip_DEMO_java4leave_jbpm4lea_jbpm4leave_jbpm4leave.zi

    【jbpm4leave.zip_DEMO_java4leave_jbpm4lea_jbpm4leave_jbpm4leave.zi】是一个包含Java实现的Jbpm Demo的压缩包,它主要用于展示如何利用Jbpm来设计和执行一个简单的请假流程。这个Demo是针对开发者和对业务流程...

    jbpm.rar_jbpm_jbpm tuxedo_工作流

    jbpm不仅支持传统的BPMN(Business Process Modeling Notation)标准,还提供了丰富的API和图形化工具,便于用户理解和操作。 在"jbpm工作流经典教程"中,我们可以期待学习到以下关键知识点: 1. **BPMN简介**:...

    jBPM_3.0.rar_bpm_jboss_jbpm_workflow

    **jbPM 3.0:工作流与BPM实践** jbPM是JBoss企业级中间件平台中的一个组件,专注于业务流程管理(Business Process Management,简称BPM)和工作流服务。jbPM 3.0作为该框架的一个版本,提供了强大的工具集和API,...

    jbpm4leave.zip_jbpm4leave_jbpm4leave.zip

    4. **配置文件**(如jbpm.cfg.xml):配置jBPM引擎的设置,如数据源、事务管理等。 5. **部署单元**(.ear或.war文件):将所有组件打包成可部署在应用服务器上的应用。 要运行这个实例,你需要: 1. 安装并配置一...

    jBPM4.4.rar_jbpm4.4_jbpm4.4 PDF

    《jBPM4.4开发指南》与《jBPM4.4中文用户手册》是深入理解jBPM4.4这一开源工作流管理系统的重要参考资料。jBPM,全称Java Business Process Management,是一个用于执行业务流程的轻量级、灵活的开源框架,它为业务...

    jbpm3.rar_JBP_jbpm_jbpm3

    【jbpm3.rar_JBP_jbpm_jbpm3】是一个关于JBPM3的压缩包,其中包含了jbpm的相关文档,旨在帮助用户理解和使用这个工作流管理系统。JBPM(Java Business Process Management)是一个开源的工作流引擎,它允许开发者在...

    JBPM数据库表说明 jbpm 工作流 详细到每一个字段,不要下载分

    1.4 JBPM_ACTION:流程动作表 4 1.5 JBPM_EVENT:流程事件表 5 1.6 JBPM_DELEGATION:流程代理类表(用于实例化jbpm中的action类) 6 1.7 JBPM_TASK:流程任务表 6 1.8 JBPM_TASKCONTROLLER:流程任务控制器 7 ...

    jbpm_test.rar_ProcessImageTag_TestJBPM_jbpm_jbpm-te_报销

    【jbpm_test.rar_ProcessImageTag_TestJBPM_jbpm_jbpm-te_报销】这个压缩包文件的主题聚焦在JBPM(Java Business Process Management)上,它是一个开源的工作流管理系统,用于设计、执行和管理业务流程。...

Global site tag (gtag.js) - Google Analytics