今天在用hibernate执行一个当表搜索的方法的时候报了个错。错误代码如下:
The column name creation_date_by_system is not valid.org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2223)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
at com.sml.eplatform.admin.dao.HelpFileDaoHibernate.getHelpFile(HelpFileDaoHibernate.java:195)
at com.sml.eplatform.admin.service.AdminServiceImpl.getHelpFile(AdminServiceImpl.java:4308)
at com.sml.eplatform.admin.ui.action.SearchHelpFileAction.execute(SearchHelpFileAction.java:76)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sml.eplatform.app.LoginSecurityFilter.doFilter(LoginSecurityFilter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sml.eplatform.app.EncodingFilter.doFilter(EncodingFilter.java:32)
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:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The column name creation_date_by_system is not valid.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.findColumn(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getTimestamp(Unknown Source)
at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getTimestamp(DelegatingResultSet.java:300)
at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getTimestamp(DelegatingResultSet.java:300)
at org.hibernate.type.CalendarType.get(CalendarType.java:30)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154)
at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2096)
at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1380)
at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1308)
at org.hibernate.loader.Loader.getRow(Loader.java:1206)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:580)
at org.hibernate.loader.Loader.doQuery(Loader.java:701)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
... 33 more
Sep 13, 2013 6:31:22 PM org.apache.catalina.core.ApplicationContext log
INFO: com.sml.eplatform.base.ApplicationServiceException: get HelpFile Error起因源于我在sql servre数据库中新加了一个字段。creation_date_by_system,然后再实体类中也增加了该字段的set和get方法。public Calendar getCreationDateBySystem() {
return creationDateBySystem;
}
public void setCreationDateBySystem(Calendar creationDateBySystem) {
this.creationDateBySystem = creationDateBySystem;
}
在映射文件中也配置了相对应的属性:<property name="creationDateBySystem" type="calendar">
<column name="creation_date_by_system"/>
</property>
<property name="lastUpdatedDateBySystem" type="calendar">
<column name="last_updated_date_by_system"/>
</property>
在没有新加这个字段之前,该表中也有一个同样的datetime类型的字段。配置也是一样的。在没加这个字段之前是都可以查询得到结果的!加了这个字段就报了这个错了。 在网络上好像没找到对应的答案。有没有大神存在!hibernate
The column name creation_date_by_system is not valid.org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2223)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
at com.sml.eplatform.admin.dao.HelpFileDaoHibernate.getHelpFile(HelpFileDaoHibernate.java:195)
at com.sml.eplatform.admin.service.AdminServiceImpl.getHelpFile(AdminServiceImpl.java:4308)
at com.sml.eplatform.admin.ui.action.SearchHelpFileAction.execute(SearchHelpFileAction.java:76)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sml.eplatform.app.LoginSecurityFilter.doFilter(LoginSecurityFilter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sml.eplatform.app.EncodingFilter.doFilter(EncodingFilter.java:32)
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:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The column name creation_date_by_system is not valid.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.findColumn(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getTimestamp(Unknown Source)
at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getTimestamp(DelegatingResultSet.java:300)
at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getTimestamp(DelegatingResultSet.java:300)
at org.hibernate.type.CalendarType.get(CalendarType.java:30)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154)
at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2096)
at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1380)
at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1308)
at org.hibernate.loader.Loader.getRow(Loader.java:1206)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:580)
at org.hibernate.loader.Loader.doQuery(Loader.java:701)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
... 33 more
Sep 13, 2013 6:31:22 PM org.apache.catalina.core.ApplicationContext log
INFO: com.sml.eplatform.base.ApplicationServiceException: get HelpFile Error起因源于我在sql servre数据库中新加了一个字段。creation_date_by_system,然后再实体类中也增加了该字段的set和get方法。public Calendar getCreationDateBySystem() {
return creationDateBySystem;
}
public void setCreationDateBySystem(Calendar creationDateBySystem) {
this.creationDateBySystem = creationDateBySystem;
}
在映射文件中也配置了相对应的属性:<property name="creationDateBySystem" type="calendar">
<column name="creation_date_by_system"/>
</property>
<property name="lastUpdatedDateBySystem" type="calendar">
<column name="last_updated_date_by_system"/>
</property>
在没有新加这个字段之前,该表中也有一个同样的datetime类型的字段。配置也是一样的。在没加这个字段之前是都可以查询得到结果的!加了这个字段就报了这个错了。 在网络上好像没找到对应的答案。有没有大神存在!hibernate
解决方案 »
- 一个传值的小问题,希望来个高手解决下,帮下小弟!
- 请问java后台如何处理JS编码 {"name":"\u65b9\u6cd5"} 获取中文
- struts2和spring整合问题(导入了struts-spring-plugin.jar)
- spring 入门代码调试总是出错
- spring2+hibernate3+struts2 頁面提交驗證報錯,請高手幫忙
- 再STRUTS 中图片上传
- 这样好吗?
- WebService用什么工具来开发 有免费的工具么?怎么部署啊?在tomcat可以跑起来么?
- weblogic无法发布EJB
- 我得JBuilder8 的设置问题(再现等待,解决给分)
- 关于Struts2.3.15文件上传问题
- SSH整合出现的麻烦
我觉得你应该先检查下你这个列加到数据库里生效了没有
比如你可以先用纯JDBC的方式去运行一个带新加那个column的Query