控制台信息如下:
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编程中,异常处理是不可或缺的一部分,尤其是在开发复杂的企业级应用时,如使用Hibernate进行对象关系映射和Tomcat作为应用服务器。本篇将详细解释一些常见的Java、Hibernate以及与Tomcat相关的异常,帮助...
Oracle ORA 异常处理详解 Oracle 是一个强大的关系数据库管理系统,然而,在使用 Oracle 时,总是会遇到各种错误信息,这些错误信息是Oracle抛出的异常信息,用于提示开发者出现了什么问题。了解这些错误信息是...
### Java错误大全(包括基本异常和开源框架出现的异常) #### 概述 Java作为一种广泛使用的编程语言,在软件开发过程中不可避免地会遇到各种各样的...希望本文能够帮助您在日常开发中更好地处理异常,提高代码质量。
14. **HibernateException: /hibernate.cfg.xml not found**:Hibernate配置文件未找到。确保文件位于项目根目录,或正确配置了配置文件路径。 15. **ConstraintViolationException**:使用了错误的数据库。检查...
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
18. **LazyInitializationException**:在Hibernate中,如果没有启用fetch模式,尝试访问延迟加载的属性时会出现此异常。确保你的查询语句中包含了fetch策略。 19. **IdentifierGenerationException**:高位表未...
21. **插入集合行异常**:在实体的映射文件中添加`inverse="true"`以处理一对多关系。 22. **Struts部署错误 (HTTP Status 404)**:这通常是由于Struts配置文件错误或Servlet容器配置不当引起的。检查Struts配置和...
Java 是一种广泛使用的编程语言,然而,在编写 Java 代码时,开发者经常会遇到各种错误和异常。这些错误可能是由于编程语言的限制、环境设置不当、第三方库的使用不当等原因引起的。在这里,我们将总结和讨论 Java ...
21. **无法插入集合行**:在Hibernate的实体映射文件中缺少配置,如`inverse="true"`,以处理关联关系。 22. **Struts部署错误**:HTTP 404错误通常表示Servlet未找到。检查Struts配置,确保Servlet容器已正确配置...
21. **集合插入异常**:在Hibernate配置中,可能需要添加inverse属性来解决一对多关系的插入问题。 22. **Struts部署错误**:HTTP 404错误通常意味着ActionServlet未在web.xml中配置。检查配置文件,确保所有必需的...
16. **空指针异常** (`NullPointerException`):数据库连接配置错误,检查`hibernate.cfg.xml`中的数据源配置。 17. **数据插入异常** (`GenericJDBCException: could not insert`): 检查是否已创建表,是否有数据...
16. **空指针异常**:检查数据库连接配置,特别是hibernate.cfg.xml中的数据是否正确。 17. **数据插入异常**:可能未创建表,或者没有提交插入操作。确认SQL语句和事务管理。 18. **LazyInitializationException*...
17. **空指针异常 (NullPointerException)**:数据库连接错误,如 hibernate.cfg.xml 中的配置问题。检查配置文件和数据库连接参数。 18. **数据插入异常**:可能是因为未创建表或表中无数据,或者缺少提交操作。...
18. **LazyInitializationException**:这是Hibernate中的延迟加载异常,可能是因为未在查询中启用fetch策略。使用`@Fetch(FetchMode.JOIN)`来解决。 19. **IdentifierGenerationException**:高位表未初始化,比如...
该错误通常出现在Spring框架中,当试图处理大型对象(如BLOB或CLOB)但Spring配置中未提供适当的LobHandler时会抛出。为了解决这个问题,需要在Spring配置文件中添加对LobHandler的支持。 ### 错误六:at java.util...