您的位置:首页 > 数据库 > MySQL

mysql版本导致的hibernate 方言问题

2016-12-20 15:38 204 查看
从今年年初就打算写属于自己的博客,但是总觉得自己这个菜鸟水平不够,也就没写。马上2016年就要结束了,所以写下这篇博客也算是对自己这几个月自学后台开发的总结吧!第一次写肯定有很多不足的地方,不足之处请大家留言指明!
今天在看hibernate视频时,看到视频上人家的hibernate.cfg.xml配置文件在配置hibernate方言时,发现视频上是这样写的<property
name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>,结果我也是那样写,在JUnit下测试发现没通过,报的错误如下图所示:



这个错误说的是表不存在,可是视频上说事自动创建表啊!带着疑问就去百度了,找到两种解决办法。第一种是:解决mysql的版本问题(我用的是mysql 5.5版本),mysql 5.0版本以后的数据库方言是:org.hibernate.dialect.MySQ5LInnoDBDialect。第二种是,如果你数据库方言用的是MySQLInnoDBDialect,这个要表存在才能用。可是你没建表,所以你应该改用MySQLDialect。以下是MySQLDialect和MySQLInnoDBDialect的区别:MySQLDialect:表名不存在下使用。MySQLInnoDBDialect:表名存在的情况下使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: