hibernate4连接mysql自动创建表之错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate4连接mysql自动创建表之错误相关的知识,希望对你有一定的参考价值。

我在学习Hibernate的过程中,遇到了这样一个错误:JUnit测试通过,但是数据库中却没有创建一个表,控制台的错误信息如下:

HHH000388: Unsuccessful: create table t_user (user_id bigint not null auto_increment, card_number varchar(30), card_type varchar(20), company_name varchar(200), email varchar(100), gender varchar(100) not null, identity varchar(20), job_name varchar(60), mobile varchar(30) not null, password varchar(100) not null, real_name varchar(100) not null, primary key (user_id)) type=InnoDB

2014-11-10 10:27:10,749 ERROR (org.hibernate.tool.hbm2ddl.SchemaUpdate:237) - 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 14

2014-11-10 10:27:10,756 ERROR (org.hibernate.tool.hbm2ddl.SchemaUpdate:236) - HHH000388: Unsuccessful: create table t_word (word_id bigint not null auto_increment, content longtext not null, create_date datetime, modify_date datetime, title varchar(100) not null, author_id bigint, primary key (word_id)) type=InnoDB

2014-11-10 10:27:10,763 ERROR (org.hibernate.tool.hbm2ddl.SchemaUpdate:237) - 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 9

2014-11-10 10:27:10,767 ERROR (org.hibernate.tool.hbm2ddl.SchemaUpdate:236) - HHH000388: Unsuccessful: create table t_wordreply (reply_id bigint not null auto_increment, content longtext not null, reply_date datetime, replier_id bigint, word_id bigint, primary key (reply_id)) type=InnoDB

 

可以看到自后都是type=InnoDB,网上搜索了之后,原来是type=InnoDB 是5.0之前使用的,我的数据库是5.5的

这个时候需要把hibernate中mysql的方言改一下,

原来的:hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect

改成:hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect

 

以上是关于hibernate4连接mysql自动创建表之错误的主要内容,如果未能解决你的问题,请参考以下文章

第二百八十节,MySQL数据库-外键链表之一对多

MySql连表之多对多

Mysql连表之多对多

索引很重要,记得建表之初加索引

MySql常用命令

如果 mysql 不存在 Hibernate 4 和 spring 4,则不会自动创建模式