Hi Guys
Hope someone can help me.
We are using Spring & Hibernate on a WebLogic 9.1 & and and Oracle 9i database. Most of our queries work fine except one query which throws a Result Set closed when Hibernate attempts to fetch the child collection (Object C in schematic below).
All the operations are performed within a Transaction and so are within a single Hibernate Session.
It appears that WebLogic is automatically closing the Result Sets which Hibernate needs in order to fetch the child collection.
Has anyone seen this before as I am baffled?
Thanks
Andy
Approximate Mapping:
<Object A>
<many-to-one Object B>
<one-to-many Object C>
<many-to-one Object D/>
</one-to-many Object C>
</many-to-one Object B>
<one-to-many Object E/>
</Object A>
Partial Exception Stack Trace:
Caused by: java.sql.SQLException:
Thread Thread[[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] finds resultset already closed at Wed Apr 16 15:04:56 BST 2008 java.lang.Exception: Originally closed by Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] at Wed Apr 16 15:04:54 BST 2008
at weblogic.jdbc.wrapper.ResultSet.internalClose(ResultSet.java:133)
at weblogic.jdbc.wrapper.Statement.closeAllResultSets(Statement.java:204)
at weblogic.jdbc.wrapper.Statement.internalClose(Statement.java:309)
at weblogic.jdbc.wrapper.Statement.internalClose(Statement.java:281)
at weblogic.jdbc.wrapper.Connection.closeAllStatements(Connection.java:364)
at weblogic.jdbc.wrapper.JTAConnection.closeAllStatements(JTAConnection.java:154)
at weblogic.jdbc.wrapper.JTAConnection.releaseXAConnIfNeeded(JTAConnection.java:228)
at weblogic.jdbc.wrapper.JTAConnection.getXAConn(JTAConnection.java:197)
at weblogic.jdbc.wrapper.JTAConnection.checkConnection(JTAConnection.java:68)
at weblogic.jdbc.wrapper.Statement.checkStatement(Statement.java:256)
at weblogic.jdbc.wrapper.Statement.doClose(Statement.java:348)
at weblogic.jdbc.wrapper.Statement.close(Statement.java:335)
at weblogic.jdbc.rmi.internal.StatementImpl.close(StatementImpl.java:125)
at weblogic.jdbc.rmi.internal.PreparedStatementImpl_weblogic_jdbc_wrapper_PreparedStatement_oracle_jdbc_driver_T4CPreparedStatement_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:550)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:440)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:436)
at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:58)
at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:975)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)