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问题解决
看着上面好像问题是解决了:不过我却发现了一个问题,就是自动建表的问题,先看下面的代码:
/p>
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
org.hibernate.dialect.MySQLInnoDBDialect
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/jbpm
root
root
update
true
这句配置 update是习以为常的自动建表语句,它的属性值有: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的话只能删除,不能重新建表了。。。。真是个奇怪的问题?有没有知道原因的?
分享到:
2012-10-11 12:09
浏览 5553
评论
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