[新手]hibernate 表不存在 MySQLSyntaxErrorException: Table doesn't exist

时间:2022-03-17 23:05:47

声明:适合新手,初学hibernate的同学参考...

关键词:hibernate 表不存在  hibernate插入不了数据  MySQLSyntaxErrorException: Table doesn't exist

背景:[我用的是Eclipse不是MyEclipse] 我在刚学hibernate的时候,写helloworld的项目时,一个原本简单的项目,我却花了很长时间去查错,出的错误是MySQLSyntaxErrorException: Table doesn't exist !

本来hibernate是可以自动创建表,自动插入数据(当然得进行配置了)。可是我的项目里面怎么都创建不了表!总是报错Table doesn't exist !


问题:使用 hibernate框架和 mysql数据库,不能自动创建表!(不存在拼写错误,代码完全正确的情况下!)


解决办法

1.出错的地方:

(1)数据库方言配置为:

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

2.更改为:

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

3.原因分析:

(1)hibernate自动发出 创建表的sql语句 最后会带有type=InnoDB

(2)5.X以后的版本就不支持type=INnoDB支持engine= Innodb

(3)所以hibernate没办法创建表


大多数情况下学习的时候是跟着网上的学习视频来的,网上的教学视频基本上用的都是4.x的mysql ,所以那样配置数据库方言不会有问题,但是我们现在自己下载安装的mysql一般都是5.x,才会遇到这样的问题!希望对大家有帮助!


Ethan

2014-10-13