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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1169091731/article/details/83067037

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

4262551-8bc142053394e536.png

image.png

4262551-7f5d863b3ebf0845.png

image.png

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

4262551-53802b598562938a.png

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>

猜你喜欢

转载自blog.csdn.net/qq1169091731/article/details/83067037
今日推荐