`
Java_Fan
  • 浏览: 84962 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

Hibernate列名无效异常处理

 
阅读更多
控制台信息如下:
2012-2-9 14:08:21 org.apache.struts.chain.ComposableRequestProcessor init
信息: Initializing composable request processor for module prefix ''
2012-2-9 14:08:21 org.apache.struts.chain.commands.servlet.CreateAction createAction
信息: Initialize action of type: org.springframework.web.struts.DelegatingActionProxy
2012-2-9 14:08:22 org.hibernate.type.NullableType nullSafeGet
信息: could not read column value from result set: PTID; 列名无效
2012-2-9 14:08:22 org.hibernate.util.JDBCExceptionReporter logExceptions
警告: SQL Error: 17006, SQLState: null
2012-2-9 14:08:22 org.hibernate.util.JDBCExceptionReporter logExceptions
严重: 列名无效
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:2147)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2028)
	at org.hibernate.loader.Loader.list(Loader.java:2023)
	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:150)
	at adam.bp.workflow.dao.StartWorkFlowDao.getCfgPttypeObj(StartWorkFlowDao.java:121)
	at adam.bp.workflow.dao.StartWorkFlowDao$FastClassByCGLIB$2caed01b.invoke(<generated>)
	at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
	at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
	at adam.bp.workflow.dao.StartWorkFlowDao$EnhancerByCGLIB$319d20c7.getCfgPttypeObj(<generated>)
	at adam.bp.workflow.biz.StartWorkFlowBiz.getCfgPttypeObj(StartWorkFlowBiz.java:98)
	at adam.bp.workflow.action.StartWorkFlowAction.queryRtuInfo(StartWorkFlowAction.java:144)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
	at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
	at org.apache.struts.actions.MappingDispatchAction.execute(MappingDispatchAction.java:166)
	at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
	at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
	at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
	at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
	at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
	at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
	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:709)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
	at com.adam.dev.utils.EncoderFilter.doFilter(EncoderFilter.java:36)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
	at java.lang.Thread.run(Thread.java:534)
Caused by: java.sql.SQLException: 列名无效
	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
	at oracle.jdbc.driver.OracleStatement.get_column_index(OracleStatement.java:5971)
	at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:1527)
	at oracle.jdbc.driver.OracleResultSet.getLong(OracleResultSet.java:1540)
	at org.apache.commons.dbcp.DelegatingResultSet.getLong(DelegatingResultSet.java:239)
	at org.hibernate.type.LongType.get(LongType.java:28)
	at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:113)
	at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:102)
	at org.hibernate.loader.Loader.getKeyFromResultSet(Loader.java:1088)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:553)
	at org.hibernate.loader.Loader.doQuery(Loader.java:689)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
	at org.hibernate.loader.Loader.doList(Loader.java:2144)
	... 65 more

错误原因分析:

-->信息: could not read column value from result set: PTID; 列名无效
说明查询出来的结果集中不包含ptid的值。
原来的代码:

String sql = "select disc from CSM_MID.CFG_PTTYPE where ptid='"+ptId+"'";

List list = this.getSession().createSQLQuery(sql).addEntity(CfgPttype.class).list();
CfgPttype cfgPttypeObj = (CfgPttype)list.get(0);

修改后正确的代码:

String sql = "select * from CSM_MID.CFG_PTTYPE where ptid='"+ptId+"'";

List list = this.getSession().createSQLQuery(sql).addEntity(CfgPttype.class).list();
CfgPttype cfgPttypeObj = (CfgPttype)list.get(0);

这样便运行正常了!
由以上写法可以看出,我们需要在查询的结果集中包含查询条件ptid的值。




分享到:
评论

相关推荐

    Java常见异常集-Java,Hibernate,Tomcat异常

    在Java编程中,异常处理是不可或缺的一部分,尤其是在开发复杂的企业级应用时,如使用Hibernate进行对象关系映射和Tomcat作为应用服务器。本篇将详细解释一些常见的Java、Hibernate以及与Tomcat相关的异常,帮助...

    oracle ora-各种常见java.sql.SQLException归纳

    Oracle ORA 异常处理详解 Oracle 是一个强大的关系数据库管理系统,然而,在使用 Oracle 时,总是会遇到各种错误信息,这些错误信息是Oracle抛出的异常信息,用于提示开发者出现了什么问题。了解这些错误信息是...

    java错误大全(包括基本异常和开源框架出现的异常)

    ### Java错误大全(包括基本异常和开源框架出现的异常) #### 概述 Java作为一种广泛使用的编程语言,在软件开发过程中不可避免地会遇到各种各样的...希望本文能够帮助您在日常开发中更好地处理异常,提高代码质量。

    JAVA错误处理大集合.doc

    14. **HibernateException: /hibernate.cfg.xml not found**:Hibernate配置文件未找到。确保文件位于项目根目录,或正确配置了配置文件路径。 15. **ConstraintViolationException**:使用了错误的数据库。检查...

    Java连接达梦数据库驱动dm_jdbc

    Java连接达梦数据库驱动dm_jdbc: ...dm_jdbc\Dm7Dictionary.jar dm_jdbc\Dm7JdbcDriver14.jar dm_jdbc\Dm7JdbcDriver15.jar dm_jdbc\Dm7JdbcDriver16.jar ...dm_jdbc\Hibernate Dialect&JDBC;.txt dm_jdbc\version.txt

    Java常见问题及处理.docx

    18. **LazyInitializationException**:在Hibernate中,如果没有启用fetch模式,尝试访问延迟加载的属性时会出现此异常。确保你的查询语句中包含了fetch策略。 19. **IdentifierGenerationException**:高位表未...

    java常见错误集锦

    21. **插入集合行异常**:在实体的映射文件中添加`inverse="true"`以处理一对多关系。 22. **Struts部署错误 (HTTP Status 404)**:这通常是由于Struts配置文件错误或Servlet容器配置不当引起的。检查Struts配置和...

    java常见错误大全

    Java 是一种广泛使用的编程语言,然而,在编写 Java 代码时,开发者经常会遇到各种错误和异常。这些错误可能是由于编程语言的限制、环境设置不当、第三方库的使用不当等原因引起的。在这里,我们将总结和讨论 Java ...

    java常见错误集锦.pdf

    21. **无法插入集合行**:在Hibernate的实体映射文件中缺少配置,如`inverse="true"`,以处理关联关系。 22. **Struts部署错误**:HTTP 404错误通常表示Servlet未找到。检查Struts配置,确保Servlet容器已正确配置...

    Javaweb常见错误.pdf

    21. **集合插入异常**:在Hibernate配置中,可能需要添加inverse属性来解决一对多关系的插入问题。 22. **Struts部署错误**:HTTP 404错误通常意味着ActionServlet未在web.xml中配置。检查配置文件,确保所有必需的...

    java常见错误以及可能原因集锦

    16. **空指针异常** (`NullPointerException`):数据库连接配置错误,检查`hibernate.cfg.xml`中的数据源配置。 17. **数据插入异常** (`GenericJDBCException: could not insert`): 检查是否已创建表,是否有数据...

    ava常见错误以及可能原因集锦

    16. **空指针异常**:检查数据库连接配置,特别是hibernate.cfg.xml中的数据是否正确。 17. **数据插入异常**:可能未创建表,或者没有提交插入操作。确认SQL语句和事务管理。 18. **LazyInitializationException*...

    Java_web常见错误

    17. **空指针异常 (NullPointerException)**:数据库连接错误,如 hibernate.cfg.xml 中的配置问题。检查配置文件和数据库连接参数。 18. **数据插入异常**:可能是因为未创建表或表中无数据,或者缺少提交操作。...

    java常见错误集

    18. **LazyInitializationException**:这是Hibernate中的延迟加载异常,可能是因为未在查询中启用fetch策略。使用`@Fetch(FetchMode.JOIN)`来解决。 19. **IdentifierGenerationException**:高位表未初始化,比如...

    精心整理的ssh2 一些错误问题的记录(推荐)

    该错误通常出现在Spring框架中,当试图处理大型对象(如BLOB或CLOB)但Spring配置中未提供适当的LobHandler时会抛出。为了解决这个问题,需要在Spring配置文件中添加对LobHandler的支持。 ### 错误六:at java.util...

Global site tag (gtag.js) - Google Analytics