#1 2015-11-11 08:36:58

ralex
Member
Registered: 2015-04-20

org.hibernate.exception.GenericJDBCException: could not execute statem

Hi,
I want to post this error due to the max length  ,set up 40 characters , for the key field.

javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute statement<br>	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)<br>	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)<br>	at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:312)<br>	at org.hibernate.ejb.criteria.CriteriaQueryCompiler$3.getSingleResult(CriteriaQueryCompiler.java:258)<br>	at net.datenwerke.rs.utils.simplequery.byatt.QueryByAttProcessor.process(QueryByAttProcessor.java:108)<br>	at net.datenwerke.rs.utils.simplequery.byatt.QueryByAttInterceptor.invoke(QueryByAttInterceptor.java:25)<br>	at net.datenwerke.rs.core.service.reportmanager.ReportServiceImpl.getReportByKey(ReportServiceImpl.java:114)<br>	at net.datenwerke.rs.core.service.reportmanager.ReportServiceImpl.ensureKeyIsUnique(ReportServiceImpl.java:161)<br>	at net.datenwerke.rs.core.service.reportmanager.ReportServiceImpl.merge(ReportServiceImpl.java:154)<br>	at net.datenwerke.security.service.eventlogger.aop.MergeEntityEventInterceptor.invoke(MergeEntityEventInterceptor.java:26)<br>	at net.datenwerke.rs.core.service.reportmanager.ReportServiceImpl.merge(ReportServiceImpl.java:1)<br>	at net.datenwerke.security.server.TreeDBManagerTreeHandler.updateNode(TreeDBManagerTreeHandler.java:597)<br>	at net.datenwerke.rs.core.server.reportmanager.ReportManagerTreeHandlerImpl.updateNode(ReportManagerTreeHandlerImpl.java:105)<br>	at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:66)<br>	at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:110)<br>	at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br>	at sun.reflect.GeneratedMethodAccessor162.invoke(Unknown Source)<br>	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>	at java.lang.reflect.Method.invoke(Method.java:606)<br>	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:561)<br>	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)<br>	at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:110)<br>	at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br>	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)<br>	at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)<br>	at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)<br>	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)<br>	at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:110)<br>	at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br>	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)<br>	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)<br>	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)<br>	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)<br>	at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89)<br>	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)<br>	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)<br>	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)<br>	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)<br>	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)<br>	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)<br>	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)<br>	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)<br>	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)<br>	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)<br>	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)<br>	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)<br>	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)<br>	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)<br>	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)<br>	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)<br>	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)<br>	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)<br>	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)<br>	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)<br>	at java.lang.Thread.run(Thread.java:745)<br>Caused by: org.hibernate.exception.GenericJDBCException: could not execute statement<br>	at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)<br>	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)<br>	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110)<br>	at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:136)<br>	at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3228)<br>	at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:3126)<br>	at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3456)<br>	at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:140)<br>	at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:377)<br>	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:369)<br>	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:287)<br>	at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:339)<br>	at org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:62)<br>	at org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1205)<br>	at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1262)<br>	at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)<br>	at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:283)<br>	... 52 more<br>Caused by: java.sql.SQLException: ORA-12899: valore troppo grande per la colonna &quot;REPORTSERVER&quot;.&quot;RS_REPORT&quot;.&quot;KEY_FIELD&quot; (corrente: 57, massimo: 40)<br><br>	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)<br>	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)<br>	at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1017)<br>	at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:655)<br>	at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249)<br>	at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:566)<br>	at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:215)<br>	at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:58)<br>	at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:943)<br>	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1075)<br>	at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3820)<br>	at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3897)<br>	at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1361)<br>	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:147)<br>	at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:133)<br>	... 65 more<br>

Since this field can uniquely identify a report, would it be possible to  increase via oracle the length of this field without having downsides?

Another question is : Some time ago, You told me that next release will support csv output for birt report....Could you please, even roughly ,tell me by when you will release it ? We are forced to keep on the old reporting system for some csv report and we would turn it off as soon as possible .

Thanks,
Cheers,
Alex

Offline

#2 2015-11-16 14:18:16

Thorsten J. Krause
datenwerke
Registered: 2012-02-15
Website

Re: org.hibernate.exception.GenericJDBCException: could not execute statem

Hi Alex,

increasing the field size might work - at least it should not have any negative effects, so maybe just give it a try.

Release date: Probably around christmas, or at least early next year.

Cheers,
Thorsten

Offline

Board footer

Powered by FluxBB