ssh项目实践--整合spring与hibernate框架

今天,看着视频,打代码。。。配置完成后,就是出错,找半天找不出来。。。最后还是找到;很简单的错误。。。为了解决错误,百度了出现这种错误的各种解决方案、、、

解决 错误 org.hibernate.exception.SQLGrammarException: could not insert

1.

在用hibernate做开发时,有时候会遇到org.hibernate.exception.SQLGrammarException:could not insert这样的错误。

错误原因:一般是数据库表中的字段包含了数据库的关键字(保留字)

处理方法:修改数据库中和关键字产生冲突的字段名,重新映射字段名和bean中的类 

2.

 “数据库方言用的是MySQLInnoDBDialect,这个要表存在才能用,是改变表的结构的。改用MySQLDialect;一下是区别:
  MySQLDialectmysql默认存储引擎为InnoDB,需创建新表(表名不存在)
  MySQLInnoDBDialectmysql默认存储引擎为InnoDB,需更改表结构(表名存在)

    将代码中MySQLInnoDBDialect改为MySQLDialect即可(我没有创建表)。

3.

今天在做Struts2和Hibernate整合作业的时候,在JSP页面输入完内容后,按提交按钮时报了个异常,以下是报出的异常代码:

ssh项目实践--整合spring与hibernate框架_第1张图片

我查看了News类,New.hbm.xml里面的代码,都没发现任何错误的地方,后来不得不请教了一下舍友,一开始也找不到原因,后来经过仔细查看了一下,终于发现了问题所在,以下就是出错的地方:

org.hibernate.exception.SQLGrammarException: could not insert: 异常的原因 - 彩笔 - 彩笔

 从上面的那行在hibernate.cfg.xml配置文件里的代码可以看出,hbm2ddl.auto的值理所当然地写错了!!应该是update或者create这些的,但我手快快竟然写成了true,怪不得一直说插入不到数据!!

       希望有类似错误的童鞋注意一下,会不会是有我这样类似的错误了


你可能感兴趣的:(Hibernate,初学)