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]
-------------------------------------------------