hibernate4.3.8与spring mvc结合遇到的问题

2703 [2015-01-21 16:47:42 ] - [ip=, ref=, ua=, sid=]
WARN o.h.e.jdbc.spi.SqlExceptionHelper - SQL Error: 1109, SQLState: 42S02

2703 [2015-01-21 16:47:42 ] - [ip=, ref=, ua=, sid=]
ERROR o.h.e.jdbc.spi.SqlExceptionHelper - Unknown table 'referential_constraints' in information_schema

2719 [2015-01-21 16:47:42 ] - [ip=, ref=, ua=, sid=]
ERROR o.h.tool.hbm2ddl.SchemaUpdate - HHH000299: Could not complete schema update
java.lang.NullPointerException: null

hibernate4.3.8与spring 4.1.4.RELEASE结合,数据库是mysql 版本是5.0.45结果报上面的错误。

原因分析一:

开始以为是hibernate的dialect出问题了,MySQL5Dialect MySQLDialect MySQL5InnoDialect都不起作用

原因分析二:

后来上网查询mysql发现是mysql的版本问题,referential_constraints 在5.0.45中没有,因此总是报错,参见以下参考资料

http://dev.mysql.com/doc/refman/5.1/en/referential-constraints-table.html

后将mysql的版本升级到5.6.21,终于不报错了。

通过以下sql命令,查询information_schema中的表,可以发现5.6.21中有referential_constraints表。

  1. mysql> use information_schema;
  2. mysql> show tables;

----------------------------------------------------------------------------------------------

mysql一台机器可以安装多个版本,但是端口要不同。如果端口相同,则在服务中,只能起一个mysql服务。

mysql Command Line Client一闪而过解决办法

1、选择才菜单下;Mysql---》mysql server 5.6-->mysql command  line Client   ---右击,选择属性

2、在属性下查看目标位置;

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysql.exe" "--defaults-file=C:\Program Files\MySQL\MySQL Server 5.6\my.ini" "-uroot" "-p"

找到对应的目录下是否有my.ini文件。

3、将安装目录下的my-default.ini重命名为my.ini.

4、再次启动mysql command line Client.

解决办法:

C:\Program Files\MySQL\MySQL Server 5.6中只有my-default.ini,没有my.ini,

因此在控制面板中停止mysql服务,拷贝一份my-default.ini,然后改名my.ini,然后重启mysql服务,

再次打开mysql Command Line Client,就不会一闪而过了。

上一篇:crontab计划任务


下一篇:python websocket client 使用