Read the rules before posting!
http://www.hibernate.org/ForumMailingli ... AskForHelp
Problem
The query below "from Project" fails with an Oracle ORA-01009 error ("Missing mandatory parameter").
There are two tables involved in this relationship:
PROJECT
-ProjectId
-Other columns
STUDY
-StudyId
-ProjectId
-Other columns
There is not yet any data in my test database in the STUDY table, but I would expect Hibernate to return an empty List rather than to throw an exception. Also, the generated SQL looks fine to me and runs fine in my database [it returns an empty result set when I run it manually].
Any help you can give is appreciated. Thanks much,
-Tim
Hibernate version:
3.0rc1
Mapping documents:
Project.hbm.xml
<hibernate-mapping>
<class
name="com.xxxx.Project"
table="PROJECT"
>
<id
name="id"
type="long"
column="ID"
>
<generator class="sequence">
<param name="sequence">SEQ_PROJECT_ID</param>
</generator>
</id>
<property
name="name"
type="java.lang.String"
column="NAME"
length="20"
unique="true"
/>
<!-- Associations -->
<!-- bi-directional one-to-many association to Study -->
<set
name="studies"
lazy="false"
inverse="true"
cascade="none"
>
<key column="PROJECT_ID" />
<one-to-many
class="com.xxxxxxx.Study"
/>
</set>
</class>
</hibernate-mapping>
Study.hbm.xml
<hibernate-mapping>
<class
name="com.xxxxx.Study"
table="STUDY"
>
<id
name="id"
type="long"
column="ID">
<generator class="sequence">
<param name="sequence">SEQ_STUDY_ID</param>
</generator>
</id>
<property
name="title"
type="java.lang.String"
column="TITLE"
length="50"
/>
<property
name="studyNumber"
type="java.lang.String"
column="STUDYNUMBER"
length="50"
/>
<property
name="startDate"
type="java.util.Date"
column="START_DATE"
length="7"
/>
<property
name="endDate"
type="java.util.Date"
column="END_DATE"
length="7"
/>
<property
name="completed"
type="boolean"
column="COMPLETED"
length="1"
/>
<property
name="poNumber"
type="long"
column="PO_NUMBER"
length="38"
/>
<property
name="otherStudyName"
type="java.lang.String"
column="OTHER_STUDY_NAME"
length="50"
/>
<property
name="notes"
type="java.lang.String"
column="NOTES"
/>
<property
name="subContractorLab"
type="java.lang.String"
column="SUBCONTRACTORLAB"
length="50"
/>
<property
name="phase"
type="java.lang.String"
column="PHASE"
length="50"
/>
<property
name="contractLabStudyNameOne"
type="java.lang.String"
column="CONTRACTLABSTUDYNAME_1"
length="50"
/>
<property
name="contractLabStudyNameTwo"
type="java.lang.String"
column="CONTRACTLABSTUDYNAME_2"
length="50"
/>
<property
name="registrationDate"
type="java.util.Date"
column="REGISTRATIONDATE"
length="7"
/>
<property
name="status"
type="java.lang.String"
column="STATUS"
length="50"
/>
<property
name="requiredDrugAmount"
type="double"
column="REQUIREDDRUGAMT"
length="38"
/>
<property
name="poApproved"
type="boolean"
column="POAPPROVED"
length="1"
/>
<property
name="mtaSigned"
type="boolean"
column="MTASIGNED"
length="1"
/>
<property
name="contractSigned"
type="boolean"
column="CONTRACTSIGNED"
length="1"
/>
<!-- Associations -->
<!-- bi-directional many-to-one association to Project -->
<many-to-one
name="project"
class="com.xxxxxxxx.Project"
not-null="true"
>
<column name="PROJECT_ID" />
</many-to-one>
</class>
</hibernate-mapping>
Code between sessionFactory.openSession() and session.close():
Code:
static public List execHQLList(SessionFactory sf, String hql)
{
List objects = null;
// Open hibernate session
Session session = null;
try
{
// Open session
session = sf.openSession();
// Exec query
objects = session.createQuery(hql).list();
} catch (RuntimeException ex)
{
// Make sure any runtime exceptions in Hibernate are logged
log.error("Error executing HQL '" + hql + "'", ex);
log.trace(ex);
log.error("Caused by", ex.getCause());
log.trace(ex.getCause());
throw ex;
} finally // Note - do NOT catch exceptions so they bubble up to the calling class
{
// Always close session
if(session != null)
session.close();
}
return objects;
}
This code is being called as:
execHQLList(sf, "from Project");
Full stack trace of any exception that occurs:Code:
[http8080-Processor4] DEBUG org.hibernate.SQL - /*load one-to-many com.xxxxxxxx.Project.studies*/select studies0_.PROJECT_ID as PROJECT25___, studies0_.ID as ID__, studies0_.ID as ID0_, studies0_.TITLE as TITLE16_0_, studies0_.STUDYNUMBER as STUDYNUM3_16_0_, studies0_.START_DATE as START4_16_0_, studies0_.END_DATE as END5_16_0_, studies0_.COMPLETED as COMPLETED16_0_, studies0_.PO_NUMBER as PO7_16_0_, studies0_.OTHER_STUDY_NAME as OTHER8_16_0_, studies0_.NOTES as NOTES16_0_, studies0_.SUBCONTRACTORLAB as SUBCONT10_16_0_, studies0_.PHASE as PHASE16_0_, studies0_.CONTRACTLABSTUDYNAME_1 as CONTRAC12_16_0_, studies0_.CONTRACTLABSTUDYNAME_2 as CONTRAC13_16_0_, studies0_.REGISTRATIONDATE as REGISTR14_16_0_, studies0_.STATUS as STATUS16_0_, studies0_.REQUIREDDRUGAMT as REQUIRE16_16_0_, studies0_.POAPPROVED as POAPPROVED16_0_, studies0_.MTASIGNED as MTASIGNED16_0_, studies0_.CONTRACTSIGNED as CONTRAC19_16_0_, studies0_.TYPE_ID as TYPE20_16_0_, studies0_.CRO_ID as CRO21_16_0_, studies0_.CHEMIST_ID as CHEMIST22_16_0_, studies0_.xxxxxxxxSPONSOR as MICROBI23_16_0_, studies0_.SHIPPER_ID as SHIPPER24_16_0_, studies0_.PROJECT_ID as PROJECT25_16_0_, studies0_.COMPOUND_ID as COMPOUND26_16_0_ from STUDY studies0_ where studies0_.PROJECT_ID=?
Hibernate: /*load one-to-many com.xxxxxxxx.Project.studies*/select studies0_.PROJECT_ID as PROJECT25___, studies0_.ID as ID__, studies0_.ID as ID0_, studies0_.TITLE as TITLE16_0_, studies0_.STUDYNUMBER as STUDYNUM3_16_0_, studies0_.START_DATE as START4_16_0_, studies0_.END_DATE as END5_16_0_, studies0_.COMPLETED as COMPLETED16_0_, studies0_.PO_NUMBER as PO7_16_0_, studies0_.OTHER_STUDY_NAME as OTHER8_16_0_, studies0_.NOTES as NOTES16_0_, studies0_.SUBCONTRACTORLAB as SUBCONT10_16_0_, studies0_.PHASE as PHASE16_0_, studies0_.CONTRACTLABSTUDYNAME_1 as CONTRAC12_16_0_, studies0_.CONTRACTLABSTUDYNAME_2 as CONTRAC13_16_0_, studies0_.REGISTRATIONDATE as REGISTR14_16_0_, studies0_.STATUS as STATUS16_0_, studies0_.REQUIREDDRUGAMT as REQUIRE16_16_0_, studies0_.POAPPROVED as POAPPROVED16_0_, studies0_.MTASIGNED as MTASIGNED16_0_, studies0_.CONTRACTSIGNED as CONTRAC19_16_0_, studies0_.TYPE_ID as TYPE20_16_0_, studies0_.CRO_ID as CRO21_16_0_, studies0_.CHEMIST_ID as CHEMIST22_16_0_, studies0_.xxxxxxxxSPONSOR as MICROBI23_16_0_, studies0_.SHIPPER_ID as SHIPPER24_16_0_, studies0_.PROJECT_ID as PROJECT25_16_0_, studies0_.COMPOUND_ID as COMPOUND26_16_0_ from STUDY studies0_ where studies0_.PROJECT_ID=?
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - preparing statement
[http8080-Processor4] DEBUG org.hibernate.type.LongType - binding '1' to parameter: 1
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - about to open ResultSet (open ResultSets: 0, globally: 0)
[http8080-Processor4] DEBUG org.hibernate.loader.Loader - result set contains (possibly empty) collection: [com.xxxxxxxx.Project.studies#1]
[http8080-Processor4] DEBUG org.hibernate.engine.CollectionLoadContext - uninitialized collection: initializing
[http8080-Processor4] DEBUG org.hibernate.loader.Loader - processing result set
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - about to close ResultSet (open ResultSets: 1, globally: 1)
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - closing statement
[http8080-Processor4] DEBUG org.hibernate.util.JDBCExceptionReporter - could not initialize a collection: [com.xxxxxxxx.Project.studies#1] [/*load one-to-many com.xxxxxxxx.Project.studies*/select studies0_.PROJECT_ID as PROJECT25___, studies0_.ID as ID__, studies0_.ID as ID0_, studies0_.TITLE as TITLE16_0_, studies0_.STUDYNUMBER as STUDYNUM3_16_0_, studies0_.START_DATE as START4_16_0_, studies0_.END_DATE as END5_16_0_, studies0_.COMPLETED as COMPLETED16_0_, studies0_.PO_NUMBER as PO7_16_0_, studies0_.OTHER_STUDY_NAME as OTHER8_16_0_, studies0_.NOTES as NOTES16_0_, studies0_.SUBCONTRACTORLAB as SUBCONT10_16_0_, studies0_.PHASE as PHASE16_0_, studies0_.CONTRACTLABSTUDYNAME_1 as CONTRAC12_16_0_, studies0_.CONTRACTLABSTUDYNAME_2 as CONTRAC13_16_0_, studies0_.REGISTRATIONDATE as REGISTR14_16_0_, studies0_.STATUS as STATUS16_0_, studies0_.REQUIREDDRUGAMT as REQUIRE16_16_0_, studies0_.POAPPROVED as POAPPROVED16_0_, studies0_.MTASIGNED as MTASIGNED16_0_, studies0_.CONTRACTSIGNED as CONTRAC19_16_0_, studies0_.TYPE_ID as TYPE20_16_0_, studies0_.CRO_ID as CRO21_16_0_, studies0_.CHEMIST_ID as CHEMIST22_16_0_, studies0_.xxxxxxxxSPONSOR as MICROBI23_16_0_, studies0_.SHIPPER_ID as SHIPPER24_16_0_, studies0_.PROJECT_ID as PROJECT25_16_0_, studies0_.COMPOUND_ID as COMPOUND26_16_0_ from STUDY studies0_ where studies0_.PROJECT_ID=?]
java.sql.SQLException: ORA-01009: missing mandatory parameter
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:169)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
at oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java:889)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:244)
at com.mchange.v2.c3p0.impl.NewProxyResultSet.next(NewProxyResultSet.java:2832)
at org.hibernate.loader.Loader.doQuery(Loader.java:380)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:203)
at org.hibernate.loader.Loader.loadCollection(Loader.java:1344)
at org.hibernate.loader.collection.OneToManyLoader.initialize(OneToManyLoader.java:106)
at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:484)
at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:60)
at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1346)
at org.hibernate.collection.AbstractPersistentCollection.forceInitialization(AbstractPersistentCollection.java:269)
at org.hibernate.engine.PersistenceContext.initializeNonLazyCollections(PersistenceContext.java:745)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:208)
at org.hibernate.loader.Loader.doList(Loader.java:1499)
at org.hibernate.loader.Loader.list(Loader.java:1482)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:365)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:268)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:782)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
at com.xxxxxxxx.services.hibernate.DBQuery.execHQLList(DBQuery.java:56)
at com.xxxxxxxx.services.db.studytracker.struts.ObjectListFactory.getProjects(ObjectListFactory.java:50)
at com.xxxxxxxx.services.db.studytracker.struts.action.ListProjectAction.execute(ListProjectAction.java:53)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:430)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:84)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
at java.lang.Thread.run(Thread.java:534)
[http8080-Processor4] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 1009, SQLState: 72000
[http8080-Processor4] ERROR org.hibernate.util.JDBCExceptionReporter - ORA-01009: missing mandatory parameter
[http8080-Processor4] ERROR com.xxxxxxxx.services.hibernate.DBQuery - Error executing HQL 'from Project'
org.hibernate.exception.GenericJDBCException: could not initialize a collection: [com.xxxxxxxx.Project.studies#1]
at org.hibernate.exception.ErrorCodeConverter.handledNonSpecificException(ErrorCodeConverter.java:92)
at org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:80)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.loadCollection(Loader.java:1351)
at org.hibernate.loader.collection.OneToManyLoader.initialize(OneToManyLoader.java:106)
at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:484)
at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:60)
at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1346)
at org.hibernate.collection.AbstractPersistentCollection.forceInitialization(AbstractPersistentCollection.java:269)
at org.hibernate.engine.PersistenceContext.initializeNonLazyCollections(PersistenceContext.java:745)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:208)
at org.hibernate.loader.Loader.doList(Loader.java:1499)
at org.hibernate.loader.Loader.list(Loader.java:1482)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:365)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:268)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:782)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
at com.xxxxxxxx.services.hibernate.DBQuery.execHQLList(DBQuery.java:56)
at com.xxxxxxxx.services.db.studytracker.struts.ObjectListFactory.getProjects(ObjectListFactory.java:50)
at com.xxxxxxxx.services.db.studytracker.struts.action.ListProjectAction.execute(ListProjectAction.java:53)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:430)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:84)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.sql.SQLException: ORA-01009: missing mandatory parameter
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:169)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
at oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java:889)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:244)
at com.mchange.v2.c3p0.impl.NewProxyResultSet.next(NewProxyResultSet.java:2832)
at org.hibernate.loader.Loader.doQuery(Loader.java:380)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:203)
at org.hibernate.loader.Loader.loadCollection(Loader.java:1344)
... 62 more
[http8080-Processor4] DEBUG com.xxxxxxxx.services.hibernate.DBQuery - org.hibernate.exception.GenericJDBCException: could not initialize a collection: [com.xxxxxxxx.Project.studies#1]
[http8080-Processor4] ERROR com.xxxxxxxx.services.hibernate.DBQuery - Caused by
java.sql.SQLException: ORA-01009: missing mandatory parameter
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:169)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
at oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java:889)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:244)
at com.mchange.v2.c3p0.impl.NewProxyResultSet.next(NewProxyResultSet.java:2832)
at org.hibernate.loader.Loader.doQuery(Loader.java:380)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:203)
at org.hibernate.loader.Loader.loadCollection(Loader.java:1344)
at org.hibernate.loader.collection.OneToManyLoader.initialize(OneToManyLoader.java:106)
at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:484)
at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:60)
at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1346)
at org.hibernate.collection.AbstractPersistentCollection.forceInitialization(AbstractPersistentCollection.java:269)
at org.hibernate.engine.PersistenceContext.initializeNonLazyCollections(PersistenceContext.java:745)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:208)
at org.hibernate.loader.Loader.doList(Loader.java:1499)
at org.hibernate.loader.Loader.list(Loader.java:1482)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:365)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:268)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:782)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
at com.xxxxxxxx.services.hibernate.DBQuery.execHQLList(DBQuery.java:56)
at com.xxxxxxxx.services.db.studytracker.struts.ObjectListFactory.getProjects(ObjectListFactory.java:50)
at com.xxxxxxxx.services.db.studytracker.struts.action.ListProjectAction.execute(ListProjectAction.java:53)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:430)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:84)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
at java.lang.Thread.run(Thread.java:534)
[http8080-Processor4] DEBUG com.xxxxxxxx.services.hibernate.DBQuery - java.sql.SQLException: ORA-01009: missing mandatory parameter
Name and version of the database you are using:Oracle 8.1.7
The generated SQL (show_sql=true):[http8080-Processor4] DEBUG org.hibernate.SQL - /*load one-to-many com.xxxxxxxx.Project.studies*/select studies0_.PROJECT_ID as PROJECT25___, studies0_.ID as ID__, studies0_.ID as ID0_, studies0_.TITLE as TITLE16_0_, studies0_.STUDYNUMBER as STUDYNUM3_16_0_, studies0_.START_DATE as START4_16_0_, studies0_.END_DATE as END5_16_0_, studies0_.COMPLETED as COMPLETED16_0_, studies0_.PO_NUMBER as PO7_16_0_, studies0_.OTHER_STUDY_NAME as OTHER8_16_0_, studies0_.NOTES as NOTES16_0_, studies0_.SUBCONTRACTORLAB as SUBCONT10_16_0_, studies0_.PHASE as PHASE16_0_, studies0_.CONTRACTLABSTUDYNAME_1 as CONTRAC12_16_0_, studies0_.CONTRACTLABSTUDYNAME_2 as CONTRAC13_16_0_, studies0_.REGISTRATIONDATE as REGISTR14_16_0_, studies0_.STATUS as STATUS16_0_, studies0_.REQUIREDDRUGAMT as REQUIRE16_16_0_, studies0_.POAPPROVED as POAPPROVED16_0_, studies0_.MTASIGNED as MTASIGNED16_0_, studies0_.CONTRACTSIGNED as CONTRAC19_16_0_, studies0_.TYPE_ID as TYPE20_16_0_, studies0_.CRO_ID as CRO21_16_0_, studies0_.CHEMIST_ID as CHEMIST22_16_0_, studies0_.xxxxxxxxSPONSOR as MICROBI23_16_0_, studies0_.SHIPPER_ID as SHIPPER24_16_0_, studies0_.PROJECT_ID as PROJECT25_16_0_, studies0_.COMPOUND_ID as COMPOUND26_16_0_ from STUDY studies0_ where studies0_.PROJECT_ID=?
Hibernate: /*load one-to-many com.xxxxxxxx.Project.studies*/select studies0_.PROJECT_ID as PROJECT25___, studies0_.ID as ID__, studies0_.ID as ID0_, studies0_.TITLE as TITLE16_0_, studies0_.STUDYNUMBER as STUDYNUM3_16_0_, studies0_.START_DATE as START4_16_0_, studies0_.END_DATE as END5_16_0_, studies0_.COMPLETED as COMPLETED16_0_, studies0_.PO_NUMBER as PO7_16_0_, studies0_.OTHER_STUDY_NAME as OTHER8_16_0_, studies0_.NOTES as NOTES16_0_, studies0_.SUBCONTRACTORLAB as SUBCONT10_16_0_, studies0_.PHASE as PHASE16_0_, studies0_.CONTRACTLABSTUDYNAME_1 as CONTRAC12_16_0_, studies0_.CONTRACTLABSTUDYNAME_2 as CONTRAC13_16_0_, studies0_.REGISTRATIONDATE as REGISTR14_16_0_, studies0_.STATUS as STATUS16_0_, studies0_.REQUIREDDRUGAMT as REQUIRE16_16_0_, studies0_.POAPPROVED as POAPPROVED16_0_, studies0_.MTASIGNED as MTASIGNED16_0_, studies0_.CONTRACTSIGNED as CONTRAC19_16_0_, studies0_.TYPE_ID as TYPE20_16_0_, studies0_.CRO_ID as CRO21_16_0_, studies0_.CHEMIST_ID as CHEMIST22_16_0_, studies0_.xxxxxxxxSPONSOR as MICROBI23_16_0_, studies0_.SHIPPER_ID as SHIPPER24_16_0_, studies0_.PROJECT_ID as PROJECT25_16_0_, studies0_.COMPOUND_ID as COMPOUND26_16_0_ from STUDY studies0_ where studies0_.PROJECT_ID=?
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - preparing statement
Debug level Hibernate log excerpt:Code:
[http8080-Processor4] DEBUG org.hibernate.impl.SessionImpl - opened session
[http8080-Processor4] DEBUG org.hibernate.impl.SessionImpl - find: from Project
[http8080-Processor4] DEBUG org.hibernate.engine.QueryParameters - named parameters: {}
[http8080-Processor4] DEBUG org.hibernate.hql.ast.QueryTranslatorImpl - parse() - HQL: from com.xxxxxxxx.Project
[http8080-Processor4] WARN hql.parser - *** WARNING: Keyword 'object' is being intepreted as an identifier due to: expecting IDENT, found 'object'
[http8080-Processor4] DEBUG org.hibernate.hql.AST - --- HQL AST ---
\-[QUERY] CommonAST: 'query'
\-[SELECT_FROM] CommonAST: 'SELECT_FROM'
\-[FROM] CommonAST: 'from'
\-[DOT] CommonAST: '.'
+-[DOT] CommonAST: '.'
| +-[DOT] CommonAST: '.'
| | +-[DOT] CommonAST: '.'
| | | +-[DOT] CommonAST: '.'
| | | | +-[DOT] CommonAST: '.'
| | | | | +-[IDENT] CommonAST: 'com'
| | | | | \-[IDENT] CommonAST: 'xxxxxxxx'
| | | | \-[IDENT] CommonAST: 'services'
| | | \-[IDENT] CommonAST: 'db'
| | \-[IDENT] CommonAST: 'studytracker'
| \-[WEIRD_IDENT] CommonAST: 'object'
\-[IDENT] CommonAST: 'Project'
[http8080-Processor4] DEBUG hql.parser - throwQueryException() : no errors
[http8080-Processor4] DEBUG org.hibernate.hql.antlr.HqlSqlBaseWalker - query() << begin, level = 1
[http8080-Processor4] DEBUG org.hibernate.hql.ast.FromElement - com.xxxxxxxx.Project (no alias) -> project0_
[http8080-Processor4] DEBUG org.hibernate.hql.antlr.HqlSqlBaseWalker - query() : finishing up...
[http8080-Processor4] DEBUG org.hibernate.hql.ast.HqlSqlWalker - Derived SELECT clause created.
[http8080-Processor4] DEBUG org.hibernate.hql.ast.JoinProcessor - Using FROM fragment [PROJECT project0_]
[http8080-Processor4] DEBUG org.hibernate.hql.antlr.HqlSqlBaseWalker - query() >> end, level = 1
[http8080-Processor4] DEBUG org.hibernate.hql.AST - --- SQL AST ---
\-[SELECT] QueryNode: 'SELECT' querySpaces (PROJECT)
+-[SELECT_CLAUSE] SelectClause: '{derived select clause}'
| +-[SELECT_EXPR] SelectExpressionImpl: 'project0_.ID as ID' {FromElement{explicit,not a collection join,classAlias=null,role=null,tableName=PROJECT,tableAlias=project0_,colums={,className=com.xxxxxxxx.Project}}}
| \-[SQL_TOKEN] SqlFragment: 'project0_.NAME as NAME14_'
\-[FROM] FromClause: 'from' FromClause{from}
\-[FROM_FRAGMENT] FromElement: 'PROJECT project0_' FromElement{explicit,not a collection join,classAlias=null,role=null,tableName=PROJECT,tableAlias=project0_,colums={,className=com.xxxxxxxx.Project}}
[http8080-Processor4] DEBUG hql.parser - throwQueryException() : no errors
[http8080-Processor4] DEBUG org.hibernate.hql.ast.QueryTranslatorImpl - HQL: from com.xxxxxxxx.Project
[http8080-Processor4] DEBUG org.hibernate.hql.ast.QueryTranslatorImpl - SQL: select project0_.ID as ID, project0_.NAME as NAME14_ from PROJECT project0_
[http8080-Processor4] DEBUG hql.parser - throwQueryException() : no errors
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - opening JDBC connection
[http8080-Processor4] DEBUG org.hibernate.SQL - select project0_.ID as ID, project0_.NAME as NAME14_ from PROJECT project0_
Hibernate: select project0_.ID as ID, project0_.NAME as NAME14_ from PROJECT project0_
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - preparing statement
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - about to open ResultSet (open ResultSets: 0, globally: 0)
[http8080-Processor4] DEBUG org.hibernate.loader.Loader - processing result set
[http8080-Processor4] DEBUG org.hibernate.loader.Loader - result set row: 0
[http8080-Processor4] DEBUG org.hibernate.type.LongType - returning '1' as column: ID
[http8080-Processor4] DEBUG org.hibernate.loader.Loader - result row: EntityKey[com.xxxxxxxx.Project#1]
[http8080-Processor4] DEBUG org.hibernate.loader.Loader - Initializing object from ResultSet: [com.xxxxxxxx.Project#1]
[http8080-Processor4] DEBUG org.hibernate.persister.entity.BasicEntityPersister - Hydrating entity: [com.xxxxxxxx.Project#1]
[http8080-Processor4] DEBUG org.hibernate.type.StringType - returning 'Cholex' as column: NAME14_
[http8080-Processor4] DEBUG org.hibernate.loader.Loader - done processing result set (1 rows)
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - about to close ResultSet (open ResultSets: 1, globally: 1)
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - closing statement
[http8080-Processor4] DEBUG org.hibernate.loader.Loader - total objects hydrated: 1
[http8080-Processor4] DEBUG org.hibernate.engine.TwoPhaseLoad - resolving associations for [com.xxxxxxxx.Project#1]
[http8080-Processor4] DEBUG org.hibernate.engine.CollectionLoadContext - creating collection wrapper:[com.xxxxxxxx.Project.compounds#1]
[http8080-Processor4] DEBUG org.hibernate.engine.CollectionLoadContext - creating collection wrapper:[com.xxxxxxxx.Project.studies#1]
[http8080-Processor4] DEBUG org.hibernate.engine.TwoPhaseLoad - done materializing entity [com.xxxxxxxx.Project#1]
[http8080-Processor4] DEBUG org.hibernate.engine.PersistenceContext - initializing non-lazy collections
[http8080-Processor4] DEBUG org.hibernate.event.def.DefaultInitializeCollectionEventListener - initializing collection [com.xxxxxxxx.Project.studies#1]
[http8080-Processor4] DEBUG org.hibernate.event.def.DefaultInitializeCollectionEventListener - checking second-level cache
[http8080-Processor4] DEBUG org.hibernate.event.def.DefaultInitializeCollectionEventListener - collection not cached
[http8080-Processor4] DEBUG org.hibernate.loader.Loader - batch loading collection: [com.xxxxxxxx.Project.studies#1]
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
[http8080-Processor4] DEBUG org.hibernate.SQL - /*load one-to-many com.xxxxxxxx.Project.studies*/select studies0_.PROJECT_ID as PROJECT25___, studies0_.ID as ID__, studies0_.ID as ID0_, studies0_.TITLE as TITLE16_0_, studies0_.STUDYNUMBER as STUDYNUM3_16_0_, studies0_.START_DATE as START4_16_0_, studies0_.END_DATE as END5_16_0_, studies0_.COMPLETED as COMPLETED16_0_, studies0_.PO_NUMBER as PO7_16_0_, studies0_.OTHER_STUDY_NAME as OTHER8_16_0_, studies0_.NOTES as NOTES16_0_, studies0_.SUBCONTRACTORLAB as SUBCONT10_16_0_, studies0_.PHASE as PHASE16_0_, studies0_.CONTRACTLABSTUDYNAME_1 as CONTRAC12_16_0_, studies0_.CONTRACTLABSTUDYNAME_2 as CONTRAC13_16_0_, studies0_.REGISTRATIONDATE as REGISTR14_16_0_, studies0_.STATUS as STATUS16_0_, studies0_.REQUIREDDRUGAMT as REQUIRE16_16_0_, studies0_.POAPPROVED as POAPPROVED16_0_, studies0_.MTASIGNED as MTASIGNED16_0_, studies0_.CONTRACTSIGNED as CONTRAC19_16_0_, studies0_.TYPE_ID as TYPE20_16_0_, studies0_.CRO_ID as CRO21_16_0_, studies0_.CHEMIST_ID as CHEMIST22_16_0_, studies0_.xxxxxxxxSPONSOR as MICROBI23_16_0_, studies0_.SHIPPER_ID as SHIPPER24_16_0_, studies0_.PROJECT_ID as PROJECT25_16_0_, studies0_.COMPOUND_ID as COMPOUND26_16_0_ from STUDY studies0_ where studies0_.PROJECT_ID=?
Hibernate: /*load one-to-many com.xxxxxxxx.Project.studies*/select studies0_.PROJECT_ID as PROJECT25___, studies0_.ID as ID__, studies0_.ID as ID0_, studies0_.TITLE as TITLE16_0_, studies0_.STUDYNUMBER as STUDYNUM3_16_0_, studies0_.START_DATE as START4_16_0_, studies0_.END_DATE as END5_16_0_, studies0_.COMPLETED as COMPLETED16_0_, studies0_.PO_NUMBER as PO7_16_0_, studies0_.OTHER_STUDY_NAME as OTHER8_16_0_, studies0_.NOTES as NOTES16_0_, studies0_.SUBCONTRACTORLAB as SUBCONT10_16_0_, studies0_.PHASE as PHASE16_0_, studies0_.CONTRACTLABSTUDYNAME_1 as CONTRAC12_16_0_, studies0_.CONTRACTLABSTUDYNAME_2 as CONTRAC13_16_0_, studies0_.REGISTRATIONDATE as REGISTR14_16_0_, studies0_.STATUS as STATUS16_0_, studies0_.REQUIREDDRUGAMT as REQUIRE16_16_0_, studies0_.POAPPROVED as POAPPROVED16_0_, studies0_.MTASIGNED as MTASIGNED16_0_, studies0_.CONTRACTSIGNED as CONTRAC19_16_0_, studies0_.TYPE_ID as TYPE20_16_0_, studies0_.CRO_ID as CRO21_16_0_, studies0_.CHEMIST_ID as CHEMIST22_16_0_, studies0_.xxxxxxxxSPONSOR as MICROBI23_16_0_, studies0_.SHIPPER_ID as SHIPPER24_16_0_, studies0_.PROJECT_ID as PROJECT25_16_0_, studies0_.COMPOUND_ID as COMPOUND26_16_0_ from STUDY studies0_ where studies0_.PROJECT_ID=?
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - preparing statement
[http8080-Processor4] DEBUG org.hibernate.type.LongType - binding '1' to parameter: 1
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - about to open ResultSet (open ResultSets: 0, globally: 0)
[http8080-Processor4] DEBUG org.hibernate.loader.Loader - result set contains (possibly empty) collection: [com.xxxxxxxx.Project.studies#1]
[http8080-Processor4] DEBUG org.hibernate.engine.CollectionLoadContext - uninitialized collection: initializing
[http8080-Processor4] DEBUG org.hibernate.loader.Loader - processing result set
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - about to close ResultSet (open ResultSets: 1, globally: 1)
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
[http8080-Processor4] DEBUG org.hibernate.jdbc.AbstractBatcher - closing statement
[http8080-Processor4] DEBUG org.hibernate.util.JDBCExceptionReporter - could not initialize a collection: [com.xxxxxxxx.Project.studies#1] [/*load one-to-many com.xxxxxxxx.Project.studies*/select studies0_.PROJECT_ID as PROJECT25___, studies0_.ID as ID__, studies0_.ID as ID0_, studies0_.TITLE as TITLE16_0_, studies0_.STUDYNUMBER as STUDYNUM3_16_0_, studies0_.START_DATE as START4_16_0_, studies0_.END_DATE as END5_16_0_, studies0_.COMPLETED as COMPLETED16_0_, studies0_.PO_NUMBER as PO7_16_0_, studies0_.OTHER_STUDY_NAME as OTHER8_16_0_, studies0_.NOTES as NOTES16_0_, studies0_.SUBCONTRACTORLAB as SUBCONT10_16_0_, studies0_.PHASE as PHASE16_0_, studies0_.CONTRACTLABSTUDYNAME_1 as CONTRAC12_16_0_, studies0_.CONTRACTLABSTUDYNAME_2 as CONTRAC13_16_0_, studies0_.REGISTRATIONDATE as REGISTR14_16_0_, studies0_.STATUS as STATUS16_0_, studies0_.REQUIREDDRUGAMT as REQUIRE16_16_0_, studies0_.POAPPROVED as POAPPROVED16_0_, studies0_.MTASIGNED as MTASIGNED16_0_, studies0_.CONTRACTSIGNED as CONTRAC19_16_0_, studies0_.TYPE_ID as TYPE20_16_0_, studies0_.CRO_ID as CRO21_16_0_, studies0_.CHEMIST_ID as CHEMIST22_16_0_, studies0_.xxxxxxxxSPONSOR as MICROBI23_16_0_, studies0_.SHIPPER_ID as SHIPPER24_16_0_, studies0_.PROJECT_ID as PROJECT25_16_0_, studies0_.COMPOUND_ID as COMPOUND26_16_0_ from STUDY studies0_ where studies0_.PROJECT_ID=?]
java.sql.SQLException: ORA-01009: missing mandatory parameter