今天,看着视频,打代码。。。配置完成后,就是出错,找半天找不出来。。。最后仍是找到;很简单的错误。。。为了解决错误,百度了出现这种错误的各类解决方案、、、mysql
解决 错误 org.hibernate.exception.SQLGrammarException: could not insertsql
1.数据库
在用hibernate作开发时,有时候会遇到org.hibernate.exception.SQLGrammarException:could not insert这样的错误。 spa
错误缘由:通常是数据库表中的字段包含了数据库的关键字(保留字)hibernate
处理方法:修改数据库中和关键字产生冲突的字段名,从新映射字段名和bean中的类 视频
2.xml
“数据库方言用的是MySQLInnoDBDialect,这个要表存在才能用,是改变表的结构的。改用MySQLDialect;一下是区别:
MySQLDialect:mysql默认存储引擎为InnoDB,需建立新表(表名不存在)
MySQLInnoDBDialect:mysql默认存储引擎为InnoDB,需更改表结构(表名存在)”开发
将代码中MySQLInnoDBDialect改成MySQLDialect便可(我没有建立表)。it
3.io
今天在作Struts2和Hibernate整合做业的时候,在JSP页面输入完内容后,按提交按钮时报了个异常,如下是报出的异常代码:
我查看了News类,New.hbm.xml里面的代码,都没发现任何错误的地方,后来不得不请教了一下舍友,一开始也找不到缘由,后来通过仔细查看了一下,终于发现了问题所在,如下就是出错的地方:
从上面的那行在hibernate.cfg.xml配置文件里的代码能够看出,hbm2ddl.auto的值理所固然地写错了!!应该是update或者create这些的,但我手快快居然写成了true,怪不得一直说插入不到数据!!
但愿有相似错误的童鞋注意一下,会不会是有我这样相似的错误了