mysql版本导致的hibernate 方言问题
2018-02-22 21:14
225 查看
今天在看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:表名存在的情况下使用
这个错误说的是表不存在,可是视频上说事自动创建表啊!带着疑问就去百度了,
找到两种解决办法。第一种是:解决mysql的版本问题(我用的是mysql 5.5版本),mysql 5.0版本以后的数据库方言是:org.hibernate.dialect.MySQ5LInnoDBDialect。
第二种是,如果你数据库方言用的是MySQLInnoDBDialect,这个要表存在才能用。可是你没建表,所以你应该改用MySQLDialect。
以下是MySQLDialect和MySQLInnoDBDialect的区别:MySQLDialect:表名不存在下使用。MySQLInnoDBDialect:表名存在的情况下使用
相关文章推荐
- mysql版本导致的hibernate 方言问题
- 不同MySql版本问题需要的Hibernate 方言问题
- Hibernate 配置 MySQL dialect 解决由MySQL版本导致的问题
- 当mysqlbinlog版本与mysql不一致时可能导致出哪些问题
- 关于配置了数据库方言为MySQLInnoDBDialect后Hibernate不能自动建表的问题
- mysql has gone away 的问题解决 --- ODBC 版本问题导致
- 关于配置了数据库方言为MySQLInnoDBDialect后Hibernate不能自动建表的问题
- 关于配置了数据库方言为MySQLInnoDBDialect后Hibernate不能自动建表的问题
- 当mysqlbinlog版本与mysql不一致时可能导致出哪些问题
- 改进动态设置query cache导致额外锁开销的问题分析及解决方法-mysql 5.5 以上版本
- 关于配置了数据库方言为MySQLInnoDBDialect后Hibernate不能自动建表和建库的问题
- 问题处理-Hibernate 与 Mysql 5版本问题
- mysql主从复制(二) 主从mysql版本不一致导致的问题
- Mysql+hibernate 长时间不操作再进入,导致连接池关闭的问题解决。
- mysql:insert on duplicate key 版本导致问题
- hibernate中关于数据库方言导致不能自动生成数据库表的问题
- hibernate mysql 方言使用的问题
- mysql版本不同所导致SQL语句执行错误的问题
- 关于配置了数据库方言为MySQLInnoDBDialect后Hibernate不能自动建表的问题
- 故障案例:mysql5.6下,mysqlbinlog版本不对可能导致的问题