您的位置:首页 > 编程语言 > Java开发

Method public java.lang.String org.hibernate.exception.NestableRuntimeException.getMessage(int

2016-05-15 18:09 525 查看
Method public java.lang.String org.hibernate.exception.NestableRuntimeException.getMessage(int) threw an exception when invoked on org.hibernate.exception.SQLGrammarException: could not execute query

The problematic instruction:

----------

==> ${msg[0]} [on line 68, column 29 in org/apache/struts2/dispatcher/error.ftl]

----------

Java backtrace for programmers:

----------

freemarker.template.TemplateModelException: Method public java.lang.String org.hibernate.exception.NestableRuntimeException.getMessage(int) threw an exception when invoked on org.hibernate.exception.SQLGrammarException: could not execute query

at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:130)

at freemarker.ext.beans.SimpleMethodModel.get(SimpleMethodModel.java:138)

at freemarker.core.DynamicKeyName.dealWithNumericalKey(DynamicKeyName.java:111)

at freemarker.core.DynamicKeyName._getAsTemplateModel(DynamicKeyName.java:90)

at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)

at freemarker.core.Expression.getStringValue(Expression.java:93)

at freemarker.core.DollarVariable.accept(DollarVariable.java:76)

at freemarker.core.Environment.visit(Environment.java:209)

at freemarker.core.MixedContent.accept(MixedContent.java:92)

at freemarker.core.Environment.visit(Environment.java:209)

at freemarker.core.IfBlock.accept(IfBlock.java:82)

at freemarker.core.Environment.visit(Environment.java:209)

at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)

at freemarker.core.Environment.visit(Environment.java:416)

at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)

at freemarker.core.Environment.visit(Environment.java:209)

at freemarker.core.MixedContent.accept(MixedContent.java:92)

at freemarker.core.Environment.visit(Environment.java:209)

at freemarker.core.IfBlock.accept(IfBlock.java:82)

at freemarker.core.Environment.visit(Environment.java:209)

at freemarker.core.MixedContent.accept(MixedContent.java:92)

at freemarker.core.Environment.visit(Environment.java:209)

at freemarker.core.Environment.process(Environment.java:189)

at freemarker.template.Template.process(Template.java:237)

at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:748)

at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:505)

at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)

at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

at java.lang.Thread.run(Thread.java:619)

Caused by: java.lang.NullPointerException

at freemarker.ext.beans.SimpleMemberModel.unwrapArguments(SimpleMemberModel.java:85)

at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:106)

... 47 more

2016-5-15 18:03:09 org.apache.catalina.core.StandardWrapperValve invoke

严重: Servlet.service() for servlet [default] in context with path [/book] threw exception

java.lang.IllegalStateException: Cannot call sendError() after the response has been committed

at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:450)

at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:752)

at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:505)

at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)

at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

at java.lang.Thread.run(Thread.java:619)

通过调试发现,语法没有问题,此时只能是数据库的问题了,最后一看数据库,发现多了一个字段,这些都很常见的,在做项目是有时别人改了数据库没有及时的通知做成的错误。

1.检查写的sql语句,或者hql语句的语法

2.查看数据库的表结构是否被修改写

3.看了一堆的解决方法,我的解决是id的生成策略错误,而且有个字段忘了保存,所以要注意输出sql 语句进行检查43.看了一堆的解决方法,我的解决是id的生成策略错误,而且有个字段忘了保存,所以要注意输出sql 语句进行检查

4.可能是数据库驱动的问题,如果你用的是oracle,你可以到我的资源里去看看,有个叫oracle_jdbc14.jar的驱动包,下载下去,替换掉你的那个原来的驱动包。

5.最后关注一下是否你的对象lazy加载方式,有可能是因为对象还没有赋值,却已经调用的问题。

是在不行断点。应该可以发现!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: