I have been trying to use Castor JDO for retrieving data from a select-based stored
procedure. But I am getting the following exception:

org.exolab.castor.jdo.PersistenceException: Complex type not accepted!
at org.exolab.castor.persist.ClassMolder.setIdentity(ClassMolder.java:1319)
at org.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:542)
at org.exolab.castor.persist.QueryResults.fetch(QueryResults.java:220)
at org.exolab.castor.jdo.engine.OQLQueryImpl$OQLEnumeration.hasMore(OQLQueryImpl.java:583) at org.exolab.castor.jdo.engine.OQLQueryImpl$OQLEnumeration.hasMore(OQLQueryImpl.java:566)

I searched throug the castor site, but did not get any possible solution for this.
Thanks in advance,

Lukasz

////////////////////
{
String oqlQuery = "CALL xq_tezaurusEMX($1, $2, $3) AS com.szlagor.database.jdo.Tezaurus"; result = executeOQL(oqlQuery, company.getNazwaAkcji(), new Integer(2), company.getKodAkcji());
 if (result == null) {
  return new IThesaurus[0];
 }
 ArrayList<Tezaurus> thesaurus = new ArrayList<Tezaurus>();
 try {
  while (result.hasMore()) {
   Tezaurus tezaurus = (Tezaurus) result.next();
   thesaurus.add(tezaurus);
  }
 } catch (PersistenceException e) {
  e.printStackTrace();
 }
 return (IThesaurus[]) thesaurus.toArray(new Tezaurus[thesaurus.size()]);
}


////

Stored procedure

TYPE REF_TERMINY IS REF CURSOR RETURN XQ_TEMP_TEZAURUS%ROWTYPE;

open p_terminy for
select xqtt.termin_id termin_id, xqtt.xrel xrel, xqtt.xlevel xlevel, xqtt.xphrase xphrase
from xq_temp_tezaurus xqtt;

////

Mapping

<mapping>
<key-generator name="SEQUENCE" alias="RETURNING_XQ_TEZAURUS">
<param name="sequence" value="SQ_XQ_TEZAURUS"/>
<param name="trigger" value="true"/>
<param name="returning" value="true"/>
</key-generator>
<class name="com.szlagor.database.jdo.Tezaurus" identity="terminId" key-generator="RETURNING_XQ_TEZAURUS" access="read-only">
<map-to table="XQ_TEMP_TEZAURUS" />
<field name="terminId" type="long">
<sql name="TERMIN_ID" type="integer" />
</field>
<field name="xRel" type="string" >
<sql name="XREL" type="varchar" />
</field>
<field name="xLevel" type="long">
<sql name="XLEVEL" type="integer" />
</field>
<field name="xPhrase" type="string" >
<sql name="XPHRASE" type="varchar" />
</field>
</class>
</mapping>

----------------------------------------------------------------------
Poznaj Stefana! Zmien komunikator! >>> http://link.interia.pl/f1924


-------------------------------------------------
If you wish to unsubscribe from this list, please send an empty message to the following address:

[EMAIL PROTECTED]
-------------------------------------------------

Reply via email to