Hi,
I am having problem retrieving a certain number of records on a search page. The generated SQL and exception are as follows. When I set the number of records to retrieve (rownumber in SQL) to 10000, I see "sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)" error and the stack trace as below. But, if I just retrieve 100 or even 1000 records, it runs perfectly fine. There is no problem with the data. I have over 19000 records in my db that match the query criteria. What could be causing this error?
Any hint would be greatly appreciated.
Wenqi Dwyer
Hibernate version: 2.1.8
Mapping documents:
Code between sessionFactory.openSession() and session.close():
Full stack trace of any exception that occurs:
2005-06-03 10:24:10,616 [http-8080-Processor23] ERROR AbstractEmarsForm:171 - Error in invoked method
java.lang.reflect.InvocationTargetException
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 com.synapsistech.emars.web.servlet.mvc.AbstractEmarsForm.invokeNamedMethod(AbstractEmarsForm.java:207)
at com.synapsistech.emars.web.servlet.mvc.AbstractEmarsForm.onSubmit(AbstractEmarsForm.java:168)
at org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission(SimpleFormController.java:248)
at org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:235)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:128)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:675)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:623)
at org.springframework.web.servlet.FrameworkServlet.serviceWrapper(FrameworkServlet.java:384)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:353)
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:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.synapsistech.emars.web.filter.GZIPFilter.doFilter(GZIPFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:300)
at net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:84)
at net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter.doFilter(SecurityEnforcementFilter.java:182)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
at net.sf.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:212)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
at net.sf.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:383)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
at net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:225)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
at net.sf.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:179)
at net.sf.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:534)
Caused by: org.springframework.orm.hibernate.HibernateJdbcException: JDBC exception on Hibernate data access: Could not execute query; nested exception is com.ibm.db2.jcc.b.SqlException: null
at org.springframework.orm.hibernate.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:597)
at com.synapsistech.emars.dao.domain.hibernate.HbmAbstractDao.intFind(HbmAbstractDao.java:243)
at com.synapsistech.emars.dao.domain.hibernate.HbmAbstractDao.find(HbmAbstractDao.java:151)
at com.synapsistech.emars.logic.service.impl.MaterialContentImpl.findObjectsByEmarsForm(MaterialContentImpl.java:510)
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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:284)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:155)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
at $Proxy2.findObjectsByEmarsForm(Unknown Source)
at com.synapsistech.emars.logic.helpers.MatContHelper.queryFromForm(MatContHelper.java:89)
at com.synapsistech.emars.web.servlet.mvc.QueryFormController.query(QueryFormController.java:156)
... 47 more
Caused by: com.ibm.db2.jcc.b.SqlException
at com.ibm.db2.jcc.b.r.a(r.java:1564)
at com.ibm.db2.jcc.b.r.m(r.java:483)
at com.ibm.db2.jcc.b.r.M(r.java:1198)
at com.ibm.db2.jcc.b.rc.getString(rc.java:887)
at com.ibm.db2.jcc.b.rc.getString(rc.java:1218)
at com.mchange.v2.c3p0.impl.NewProxyResultSet.getString(NewProxyResultSet.java:1340)
at net.sf.hibernate.type.StringType.get(StringType.java:18)
at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:62)
at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:53)
at net.sf.hibernate.type.AbstractType.hydrate(AbstractType.java:67)
at net.sf.hibernate.loader.Loader.hydrate(Loader.java:690)
at net.sf.hibernate.loader.Loader.loadFromResultSet(Loader.java:631)
at net.sf.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:590)
at net.sf.hibernate.loader.Loader.getRow(Loader.java:505)
at net.sf.hibernate.loader.Loader.getRowFromResultSet(Loader.java:218)
at net.sf.hibernate.loader.Loader.doQuery(Loader.java:285)
at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:138)
at net.sf.hibernate.loader.Loader.doList(Loader.java:1063)
at net.sf.hibernate.loader.Loader.list(Loader.java:1054)
at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1554)
at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:49)
at com.synapsistech.emars.dao.domain.hibernate.HbmAbstractDao.intFind(HbmAbstractDao.java:211)
... 62 more
Name and version of the database you are using:
DB2 8.2
The generated SQL (show_sql=true):
Hibernate: select * from ( select rownumber() over() as rownumber_, row_.* from ( select distinct co
mpanypar0_.OBJ_ID as OBJ_ID, companypar0_.CMP_COMMODITY_CODE as CMP_COMM2_, companypar0_.CMP_CUSTOM_
PROP as CMP_CUST3_, companypar0_.CMP_PART_NUMBER as CMP_PART4_, companypar0_.CMP_DESCRIPTION as CMP_
DESC5_, companypar0_.CLASS_ID as CLASS_ID, companypar0_.OBJ_TYPE as OBJ_TYPE, companypar0_.CREATE_DA
TE as CREATE_D8_, companypar0_.CREATE_USER as CREATE_U9_, companypar0_.LAST_MODIFIED_DATE as LAST_MO
10_, companypar0_.LAST_MODIFIED_USER as LAST_MO11_ from COMPANY_PART companypar0_ where (1=1 )AND((c
ompanypar0_.CMP_COMMODITY_CODE=? )) ) as row_ ) as temp_ where rownumber_ <= ?
Debug level Hibernate log excerpt:
|