`
zhijin
  • 浏览: 76730 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

SQLGrammarException

阅读更多

不仔细,一个小小的异常,害我调试了几个小时,实在不应该!

 

异常信息如下:

 

Hibernate: insert into CDS_CREDITCAREJG_HIS (ID, BBRQ, BZ, ORG, ITEMS, TZHJ, WJZC, WJGZ, WJCJ, WJKY, WJSS, DBDZY, DBBZ, DBXY, DBBZJ, PD, DW, DRRQ, CHECKFLAG) values (default, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
16:38:46,125  WARN JDBCExceptionReporter:77 - SQL Error: -204, SQLState: 42704
16:38:46,125 ERROR JDBCExceptionReporter:78 - DB2 SQL error: SQLCODE: -204, SQLSTATE: 42704, SQLERRMC: DB2ADMIN.CDS_CREDITCAREJG_HIS
16:38:46,156  WARN JDBCExceptionReporter:77 - SQL Error: -727, SQLState: 56098
16:38:46,156 ERROR JDBCExceptionReporter:78 - DB2 SQL error: SQLCODE: -727, SQLSTATE: 56098, SQLERRMC: 2;-204;42704;DB2ADMIN.CDS_CREDITCAREJG_HIS
16:38:46,156  WARN JDBCExceptionReporter:77 - SQL Error: -727, SQLState: 56098
16:38:46,171 ERROR JDBCExceptionReporter:78 - DB2 SQL error: SQLCODE: -727, SQLSTATE: 56098, SQLERRMC: 2;-204;42704;DB2ADMIN.CDS_CREDITCAREJG_HIS
16:39:08,671 ERROR CreditCareJGHisDAO:50 - save failed
org.springframework.dao.InvalidDataAccessResourceUsageException: could not insert: [com.fenet.gddb.cds.model.datareenter.CreditCareJGHis]; nested exception is org.hibernate.exception.SQLGrammarException: could not insert: [com.fenet.gddb.cds.model.datareenter.CreditCareJGHis]
Caused by:
org.hibernate.exception.SQLGrammarException: could not insert: [com.fenet.gddb.cds.model.datareenter.CreditCareJGHis]
 at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
 at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
 at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:40)
 at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2158)
 at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2638)
 at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:48)
 at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
 at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:298)
 at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
 at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107)
 at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
 at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
 at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
 at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
 at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
 at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
 at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
 at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
 at org.springframework.orm.hibernate3.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:635)
 at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
 at org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:632)
 at com.fenet.gddb.cds.service.datareneter.dao.CreditCareJGHisDAO.save(CreditCareJGHisDAO.java:47)
 at com.fenet.gddb.cds.service.datareneter.bs.CreditCareJGHisBS.createCreditCareJG(CreditCareJGHisBS.java:21)
 at com.fenet.gddb.cds.web.servlet.ExcelUploadServlet.upLoadCreditCareJG(ExcelUploadServlet.java:199)
 at com.fenet.gddb.cds.web.servlet.ExcelUploadServlet.doPost(ExcelUploadServlet.java:86)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at com.fenet.gddb.cds.web.common.filter.CommonFilter.doFilter(CommonFilter.java:37)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
 at java.lang.Thread.run(Thread.java:595)
Caused by: com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -204, SQLSTATE: 42704, SQLERRMC: DB2ADMIN.CDS_CREDITCAREJG_HIS
 at com.ibm.db2.jcc.c.fg.e(fg.java:1596)
 at com.ibm.db2.jcc.c.fg.a(fg.java:1206)
 at com.ibm.db2.jcc.b.gb.g(gb.java:140)
 at com.ibm.db2.jcc.b.gb.a(gb.java:39)
 at com.ibm.db2.jcc.b.w.a(w.java:34)
 at com.ibm.db2.jcc.b.vb.g(vb.java:139)
 at com.ibm.db2.jcc.c.fg.n(fg.java:1177)
 at com.ibm.db2.jcc.c.gg.eb(gg.java:1862)
 at com.ibm.db2.jcc.c.gg.d(gg.java:2295)
 at com.ibm.db2.jcc.c.gg.W(gg.java:457)
 at com.ibm.db2.jcc.c.gg.executeUpdate(gg.java:440)
 at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:73)
 at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:33)
 ... 43 more

 

最后才发现,

原来是Hibernate 的Mapping文档写错了,数据库里根本没有DB2ADMIN.CDS_CREDITCAREJG_HIS这张表,表名本来应该是DB2ADMIN.CDS_CREDITCAREJG_HISTORY....

分享到:
评论
1 楼 nali1022 2009-11-13  
非常好。我的也出现这个问题
我原来写的是schema="dbo",看了楼主的贴搞定了
 
Global site tag (gtag.js) - Google Analytics