今天,看着視頻,打代碼。。。配置完成後,就是出錯,找半天找不出來。。。最後仍是找到;很簡單的錯誤。。。爲了解決錯誤,百度了出現這種錯誤的各類解決方案、、、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,怪不得一直說插入不到數據!!
但願有相似錯誤的童鞋注意一下,會不會是有我這樣相似的錯誤了