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

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


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>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容