那些年踩过的坑之(1)Hibernate自动创建表出错

来源:互联网 发布:制做图表的软件 编辑:程序博客网 时间:2024/05/16 03:43

自动生成表时报错,保存信息如下图所示:
image.png

image.png

可以看出提示 SQL 语法错误, 在 创建表后多了 type=MyISAM 导致错误,为什么会自动多了这么一句sql呢? 在 stackOverflow 中找到了答案:

image.png

总结来说就是:
- type=MyISAM 是在Mysql 4.x 版本时创建表时用的语法,5.5后的版本将该语法删除
- 但是在核心配置文件(hibernate.cfg.xml)中,因为我配置的是下面的值,使用的是 MySQL 4.x 的sql生成工具,而连接的数据库是 MySQL 5.7 , 故会导致生成的sql语法错误

<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

纠正之后

<property name="hibernate.dialect">org.hibernate.dialect.MySQL57Dialect</property>