当前位置: 代码迷 >> J2EE >> 查询HQL 失误 未执行的语句句柄
  详细解决方案

查询HQL 失误 未执行的语句句柄

热度:618   发布时间:2016-04-21 22:06:18.0
查询HQL 出错 未执行的语句句柄
HQL 为
 
FROM PunishNotice WHERE billState <>'删除'  ORDER BY  CODENUMBER desc


具体异常信息

[QC] ERROR [http-bio-8080-exec-7] org.slf4j.impl.JCLLoggerAdapter.error(454) | 未执行语句句柄
 org.apache.jasper.JasperException:根据HQL语句[FROM PunishNotice WHERE billState <>'删除'  ORDER BY  CODENUMBER desc]查询对象时出错

Caused by: org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not execute query; uncategorized SQLException for SQL [select punishnoti0_.innerId as innerId121_, punishnoti0_.classId as classId121_, punishnoti0_.codeNumber as codeNumber121_, punishnoti0_.fillDate as fillDate121_, punishnoti0_.punishedNotice as punished5_121_, punishnoti0_.isPublish as isPublish121_, punishnoti0_.billState as billState121_, punishnoti0_.workFlowStatus as workFlow8_121_, punishnoti0_.fillerDeptId as fillerDe9_121_, punishnoti0_.fillerDeptClassId as fillerD10_121_, punishnoti0_.fillerId as fillerId121_, punishnoti0_.fillerClassId as fillerC12_121_, punishnoti0_.punishedCodeId as punishe13_121_, punishnoti0_.punishedCodeClassId as punishe14_121_ from PunishNotice punishnoti0_ where punishnoti0_.billState<>'删除' order by CODENUMBER desc]; SQL state [null]; error code [17144]; 未执行语句句柄; nested exception is java.sql.SQLException: 未执行语句句柄
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.orm.hibernate3.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:424)
at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:410)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)

... 49 more
Caused by: java.sql.SQLException: 未执行语句句柄
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
at oracle.jdbc.driver.T4CPreparedStatement.doDescribe(T4CPreparedStatement.java:733)
at oracle.jdbc.driver.OracleStatement.getColumnIndex(OracleStatement.java:3285)
at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:1914)
at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1515)
at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2267)
at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1423)
at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1351)
at org.hibernate.loader.Loader.getRow(Loader.java:1251)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:619)
at org.hibernate.loader.Loader.doQuery(Loader.java:745)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)
at org.hibernate.loader.Loader.doList(Loader.java:2294)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2172)
at org.hibernate.loader.Loader.list(Loader.java:2167)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:448)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1258)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
... 52 more


上面HQL最后解析成的sql语句在  数据库中是可执行且有数据查询出来的.

网上也找了很多关于未执行语句句柄的错误定位  但是都不能解决.

大概的症状是  相比其他表单 执行的时间过长 (里面小于10条数据  字段也不是很多.)
程序未执行存储过程及操作游标

找了好几天,实在定位不到原因的根源, 希望各位帮忙看看  分析下大体情况

oracle11g数据库

另外oracle有没有软件 能像navicate for mysql那样能查看oracle当前的执行sql和进程

个人总感觉是数据库方面的问题.但是实在定位不到.
oracle 异常

------解决方案--------------------
这个操作需要很长时间吗?
  相关解决方案