最近在学习hibernate,利用其自动创建表时老是出错,
出错信息如下:
1 | ERROR: HHH000388: Unsuccessful: create table NEWS (ID integer not null auto_increment, TITLE varchar(255), AUTHOR varchar(255), DATE date, primary key (ID)) type=InnoDB |
经过分析,可以看出提示在type=InnoDB这里出错,将hibernate自动生成的建表语句
1 | create table NEWS (ID integer not null auto_increment, TITLE varchar(255), AUTHOR varchar(255), DATE date, primary key (ID)) type=InnoDB |
在mysql下运行同样报错,经查资料发现是这么一回事:
在mysql 5.0版本以后不支持 type=InnoDB 关键字,需要使用 engine=InnoDB
解决放下如下:
在hinernate.cfg.xml配置文件中修改本地方言即可:
1 | <!--原来用的是MySQLInnoDBDialect,改为MySQL5Dialect即可--> |