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

jBPM4.4中配置MySQL的hibernate方言MySQLInnoDBDialect

    博客分类:
  • jbpm
 
阅读更多
最初的jbpm.hibernate.cfg.xml中,对MySQL的方言配置成了org.hibernate.dialect.MySQLDialect,发布流程的时候遇到下述错误:

Cannot delete or update a parent row: a foreign key constraint fails

Could not synchronize database state with session

将MySQL方言修改为org.hibernate.dialect.MySQLInnoDBDialect问题解决

看着上面好像问题是解决了:不过我却发现了一个问题,就是自动建表的问题,先看下面的代码:

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
     
     <!-- 不知道为什么,把hibernate.dialect改成org.hibernate.dialect.MySQLInnoDBDialect,,如果你把表删除了的话,不能自动建表 
     	  但是运行的时候又得换成org.hibernate.dialect.MySQLInnoDBDialect才不会报错,,,纠结了。。
     -->
   <!--  <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> -->
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
     <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
     <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpm</property>
     <property name="hibernate.connection.username">root</property>
     <property name="hibernate.connection.password">root</property>
     <property name="hibernate.hbm2ddl.auto">update</property>
     <property name="hibernate.format_sql">true</property>
     
     <mapping resource="jbpm.repository.hbm.xml" />
     <mapping resource="jbpm.execution.hbm.xml" />
     <mapping resource="jbpm.history.hbm.xml" />
     <mapping resource="jbpm.task.hbm.xml" />
     <mapping resource="jbpm.identity.hbm.xml" />
     
  </session-factory>
</hibernate-configuration>


这句配置 <property name="hibernate.hbm2ddl.auto">update</property>是习以为常的自动建表语句,它的属性值有:create , update ,create-drop等等,代表不同的建表模式。
我是调用java代码来建表的,如下:

public static void main(String arg[]) {
		//必须使用的,流程引擎
		ProcessEngine processEngine = Configuration.getProcessEngine();
		RepositoryService repositoryService = processEngine
				.getRepositoryService();
}


结果发现这样的方式只能用org.hibernate.dialect.MySQLInnoDBDialect这个方言才能使用,换成了org.hibernate.dialect.MySQLInnoDBDialect的话只能删除,不能重新建表了。。。。真是个奇怪的问题?有没有知道原因的?
分享到:
评论
3 楼 panshaobinSB 2013-01-10  
vinesmario 写道
1,mysql默认存储引擎为InnoDB,需创建新表(表名不存在),数据库方言只能选择MySQLDialect;
2,mysql默认存储引擎为InnoDB,需更改表结构(表名存在),数据库方言三者皆可选(建议选择MySQLInnoDBDialect);



谢谢哈
2 楼 vinesmario 2013-01-06  
1,mysql默认存储引擎为InnoDB,需创建新表(表名不存在),数据库方言只能选择MySQLDialect;
2,mysql默认存储引擎为InnoDB,需更改表结构(表名存在),数据库方言三者皆可选(建议选择MySQLInnoDBDialect);
1 楼 vinesmario 2013-01-06  
安装mysql是选择默认的存储引擎是InnoDB

相关推荐

    jBPM4.4.rar_jbpm4.4_jbpm4.4 PDF

    在《jBPM4.4中文用户手册》中,用户可以找到更详细的使用指南,包括安装配置、基本操作、示例教程以及常见问题解答等内容。手册将帮助用户快速上手,实现jBPM在实际项目中的应用。 总的来说,jBPM4.4是企业级业务...

    Jbpm4.4 整合Spring Hibernate4

    在Jbpm4.4中整合Spring,可以利用Spring的这些优势,比如将Jbpm的流程实例管理、任务分配等操作集成到Spring容器中,实现流程服务的声明式配置和管理。 **3. Hibernate4整合** Hibernate4是流行的ORM(对象关系映射...

    jbpm4.4中文开发指南

    **jbpm4.4中文开发指南** ...通过阅读《jbpm4.4开发指南.doc》,读者可以系统了解jbpm的工作原理、配置方法、使用技巧,以及常见问题的解决方案,从而更好地在实际项目中运用jbpm4.4来实现高效、灵活的业务流程管理。

    jbpm4.4下载地址

    在深入探讨jBPM 4.4的相关知识点之前,我们首先需要理解jBPM是什么以及它在企业级应用中的重要性。jBPM是“Java Business Process Model”的缩写,是一个开源的工作流引擎,用于执行业务流程管理(BPM)。它提供了...

    Jbpm4.4+hibernate3.5.4+spring3.0.4+struts2.1.8整合

    【JBPM4.4+Hibernate3.5.4+Spring3.0.4+Struts2.1.8整合】的整个过程涉及到多个关键组件的集成,这些组件都是Java企业级开发中的重要部分。首先,JBPM(Business Process Management)是一个开源的工作流引擎,它...

    jBPM 4.4用户手册 中文PDF

    jBPM 4.4 使用Hibernate作为默认的持久化层,可以轻松地将流程实例和相关数据存储到数据库中。这使得流程实例能够在系统重启后继续,同时也支持数据的查询和审计。 **六、监控与管理** jBPM 4.4 提供了一个Web管理...

    jBPM4.4 详解 API 中文

    jBPM4.4版本特别之处在于其底层依赖于Active Diagram模型,并且采用了Hibernate 3.3.1,这使得它能够良好地兼容主流数据库,同时,整个版本共涉及18张数据表,展现了其强大的数据处理能力。 #### 三、搭建jBPM4.4...

    jbpm4.4文档+学习资料

    5. 集成能力:jbpm4.4可以与Java EE、Spring、Hibernate等框架无缝集成,便于开发企业级应用。 三、jbpm4.4学习路径 1. 基础概念:首先需要了解BPM的基本概念,如流程实例、任务、事件、信号等。 2. 工具使用:学习...

    jbpm4.4+spring2.5.6+hibernate 3.6+struts2.2.1 集成 保证运行成功

    这个集成项目是基于特定版本的这些技术,包括jbpm4.4(业务流程管理),spring2.5.6(依赖注入和事务管理),hibernate 3.6(对象关系映射),以及struts2.2.1(MVC框架)。下面将详细介绍这些组件以及它们如何协同...

    jBPM4.4开发实例

    在这个入门开发实例中,我们将探讨如何利用jBPM4.4进行业务流程的建模、部署和执行。 **一、jBPM4.4核心概念** 1. **流程定义(Process Definition)**:使用jBPM的流程定义语言(BPML或BPMN)来描述业务流程。...

    jBPM4.4开发指南

    - jBPM4.4 使用了 Hibernate (3.3.1 版本),因此可以很好地支持主流数据库。 - jBPM4.4 共有 18 张表,这些表用于存储流程定义、实例状态等数据。 **3. jBPM4.4环境准备** - **所需环境**:jBPM 需要 JDK (Java ...

    JBPM4.4资料的其他补充

    在提供的文件列表“jbpm2”中,可能包含的是JBPM4.4的第二个版本或者其他相关组件,如库文件、配置文件或示例项目。具体用途需要根据文件内容进行解析和理解。 总之,JBPM4.4是一个功能丰富的业务流程管理平台,它...

    jbpm4.4 shh2 项目示例

    jbpm4.4 shh2 项目示例是基于jbpm4.4版本与SSH2(Struts2、Spring和Hibernate)集成的一个实战项目。jbPM(Business Process Management)是一款开源的工作流管理系统,用于实现业务流程自动化。SSH2是Java开发中的...

    jbpm4.4+ssh

    jbpm4.4在该应用中扮演核心角色,它提供了工作流引擎,可以处理复杂的业务流程定义。用户可以通过jbpm提供的图形化工具设计流程图,并将其转化为可执行的流程定义。在jbpm中,流程实例的启动、流转、结束等操作都...

    jbpm4.4的安装myeclipse配置还有helloworld实例

    - 修改 `jbpm-4.4\install\jdbc\mysql.properties` 文件中的数据库配置。 - 如果需要其他类型的数据库支持,需要将相应的 JDBC 驱动包复制到 `jbpm-4.4\lib` 目录下。 - **执行 SQL 脚本**: - 在命令行中切换到 `...

    jBPM4.4.rar_jbpm4_jbpm4.4

    "jBPM4.4.docx" 文件可能是关于 jbPM 4.4 示例的详细文档,它可能包含如何安装、配置、创建和运行流程实例的步骤,以及可能遇到的问题和解决办法,对于学习和使用 jbPM 4.4 是非常有价值的参考资料。 总结,jbPM ...

    jbpm4.4 schema.xsd

    jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd

Global site tag (gtag.js) - Google Analytics