Idea下Hibernate手动配置好实体类和hbm.xml后自动生成数据库表报错

大家都知道,hibernate可以根据实体类和hbm.xml映射文件生成对应的数据表,我在跟着教学视频实践时程序一直报错如下:

Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near'type=InnoDB'

经过查询是因为新版的mysql已经不支持 type=xxx 这种写法,要把type替换成engine  类似 engine=InnoDB这种写法即可。

我修改后手动执行sql语句成功,但是我希望idea能够帮我执行又不知道如何修改。

坑了好久才恍然大悟,是 hibernate.cfg.xml 中的  dialect属性设置问题。该属性设置的是hibernate所使用的数据库方言。如图,设置为 org.hibernate.dialect.MYSQL57Dialect或者org.hibernate.dialect.MYSQL5Dialect 或 org.hibernate.dialect.MYSQL55Dialect 等较新版本的MYSQL方言选项即可



你可能感兴趣的:(Hibernate)