Probably an other newbie question :) .
I try to generate the mapping for a Map attribute. Maybe somme body could
advice me and show me where I do some errors in my mapping.
My classes (I put the getter and setter : maybe they could be false) :
public class Cooperative
{
private String id;
private Map mesInseminateurs;
public Cooperative()
{
...
mesInseminateurs = new DMapImpl();
}
public Inseminateur getMesInseminateurs(String code) {
return (Inseminateur) mesInseminateurs.get(code);
}
public void setMesInseminateurs(String code, Inseminateur inseminateur) {
mesInseminateurs.put(code, inseminateur);
}
public Map getMesInseminateurs() {
return mesInseminateurs;
}
...
}
public class Inseminateur
{
private String id;
private String idCoop;
public Inseminateur()
{
...
mesApplicationsCategorieInseminateur = new DMapImpl();
}
...
}
id is the PK and idCoop the FK to generate the Map. So I wrote the next
mapping :
<class-descriptor
class="com.arsoe.trelaze.coopgen.metier.cooperative.Cooperative"
table="CIADATA.COOP">
<field-descriptor id="1"
name="id"
column="IDCOOP"
jdbc-type="VARCHAR"
primarykey="true"/>
...
<collection-descriptor
name="mesInseminateurs"
element-class-ref="com.arsoe.trelaze.coopgen.metier.inseminateur.Inseminateur"
collection-class="org.apache.ojb.odmg.collections.DMapImpl">
<inverse-foreignkey field-ref="idCoop"/-->
</collection-descriptor>
</class-descriptor>
<class-descriptor
class="com.arsoe.trelaze.coopgen.metier.inseminateur.Inseminateur"
table="CIADATA.INS">
<field-descriptor id="1"
name="id"
column="IDINS"
jdbc-type="VARCHAR"
primarykey="true"/>
...
<field-descriptor id="3"
name="idCoop"
column="IDCOOP"
jdbc-type="VARCHAR"/>
</class-descriptor>
What could be the raison of such exception ?
[org.apache.ojb.broker.accesslayer.RsIterator] ERROR: Error while iterate
ResultSet for query org.apache.ojb.broker.accesslayer.RsQueryObject[query:
Query from class com.arsoe.trelaze.coopgen.metier.cooperative.Cooperative
where {code=C720}, class descriptor: com.arsoe.trelaze.coopgen.
metier.cooperative.Cooperative]
java.lang.ClassCastException
org.apache.ojb.broker.PersistenceBrokerException:
java.lang.ClassCastException
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.QueryReferenceBroker.retrieveCollection(Unknown
Source)
at
org.apache.ojb.broker.core.QueryReferenceBroker.retrieveCollections(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unknown
Source)
at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown
Source)
at
com.arsoe.trelaze.socle.dao.odmg.ODMGDataAccessObject.find(ODMGDataAccessObject.java:292)
This error is probably the raison why after there is an
Thank you in advance.
Nicolas,
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]