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

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


那些年踩过的坑之(1)Hibernate自动创建表出错_第1张图片
image.png
image.png

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

那些年踩过的坑之(1)Hibernate自动创建表出错_第2张图片
image.png

总结来说就是:

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

纠正之后

org.hibernate.dialect.MySQL57Dialect

你可能感兴趣的:(那些年踩过的坑之(1)Hibernate自动创建表出错)