在跟着尚硅谷学习hibernate,http://ke.atguigu.com/course/24(第二节)时,按照视频的,一步一步的照着老师的做,修改了mysql的链接参数,正常来说,是自动建表,并插入一条数据,但是在JUnit测试时提示:
二月 25, 2016 3:57:23 下午 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
WARN: SQL Error: 1146, SQLState: 42S02
二月 25, 2016 3:57:23 下午 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: Table 'hibernate_test.news' doesn't exist
郁闷……
然后拿着老师给的代码,比对自己的代码……没问题啊,为啥我都不能自动建表呢!
真的是不知道怎么回事了……
然后百度,看到http://blog.csdn.net/biangren/article/details/8010018文章下面的评论时,才得以解决了(大牛:不知该叫什么)。
在hibernate.cfg.xml文件中:
原本配置数据库方言:
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
正确应为:
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
一样的吗???NO,NO,NO……
有没有发现多了个5?
因为如果Mysql数据库版本是5.5,设置事务性方言时要用:
org.hibernate.dialect.MySQL5InnoDBDialect