Hibernate和Mysql5.5创建表出错——type=InnDB/schema export unsuccessful
2015-03-17 23:42
295 查看
今天把以前做的一个项目迁移到自己的机器上,项目使用SSH。
第一次运行程序时,将Hibernte中的hibernate.hbm2ddl.auto设置成create,让Hibernate帮助自动建表,但不成功,报了如下信息:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type=InnoDB' at line 1
我很纳闷,为什么之前没有这样的问题呢?后来,想了想,会不会与我的开发环境有关呢。之前使用的MySql版本是5.0,现在换成了5.5,会不会与这有关呢。
后来,网上查找一番,发现是因为type=InnoDB在5.0以前是可以使用的,但5.1之后就不行了。如果我们把type=InnoDB改为engine=InnoDB就不会有这个问题。但是,我想使用Hibernate,自动帮我建表,怎么办呢。这就与我们指定的数据库方言(dialect)有关了。
之前我的配置是:
Xml代码
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
现在改为:
Xml代码
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
好了,这样问题就解决了。总结下:
Txt代码
Using 'MySQL5InnoDBDialect' works with 5.1 and 5.5.
第一次运行程序时,将Hibernte中的hibernate.hbm2ddl.auto设置成create,让Hibernate帮助自动建表,但不成功,报了如下信息:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type=InnoDB' at line 1
我很纳闷,为什么之前没有这样的问题呢?后来,想了想,会不会与我的开发环境有关呢。之前使用的MySql版本是5.0,现在换成了5.5,会不会与这有关呢。
后来,网上查找一番,发现是因为type=InnoDB在5.0以前是可以使用的,但5.1之后就不行了。如果我们把type=InnoDB改为engine=InnoDB就不会有这个问题。但是,我想使用Hibernate,自动帮我建表,怎么办呢。这就与我们指定的数据库方言(dialect)有关了。
之前我的配置是:
Xml代码
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
现在改为:
Xml代码
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
好了,这样问题就解决了。总结下:
Txt代码
Using 'MySQL5InnoDBDialect' works with 5.1 and 5.5.
相关文章推荐
- Hibernate和Mysql5.5创建表出错——type=InnDB/schema export unsuccessful
- Hibernate和MySQL5.5创建表出错--'type=InnoDB'/schema export unsucessful
- Hibernate4在MySQL5.1以上版本创建表出错 type=InnDB
- 关于hibernate和mysql创建表报错 type=InnDB
- Hibernate4在MySQL5.1以上版本创建表出错 type=InnDB
- 自动创建表出错 type=InnDB
- Hibernate4和Mysql5.1以上版本创建表出错 type=InnDB
- Hibernate与Mysql 5.5创建表出错--table doesn't exist
- 通过hibernate SchemaExport手动创建表结构
- Hibernate用SchemaExport自动创建不了表
- Hibernate5.2.10使用SchemaExport创建数据库
- Hibernate之——使用SchemaExport类自动创建数据库表
- 使用hibernate的SchemaExport来创建数据库
- java hibernate SchemaExport 创建数据表
- hibernate mysql5.5.X 不能创建表
- hibernate笔记--通过SchemaExport生成数据库表
- Linux下用mysql_install_db创建数据库实例
- Hibernate(一)——使用SchemaExport生成数据表
- soalris下 Oracle链接mysql创建DB_link
- Postgres和MySQL创建用户并授予db权限