I am getting the following intermittent problems
with my mappings file. I can't seem to go back and fourth between XML , java and
database persistence.
Error:
org.exolab.castor.jdo.DataObjectAccessException: no
method to set value for field: com.opendemand.jdo.ResponseHeader in class:
ClassMolder com.opendemand.jdo.WebResource
I also see the following nested error which I think
is causing it.
I have the following steps:
1) Import XML file (marshall) to a java
object (works fine)
2) Java object -> database ( big
problem)
com.opendemand.jdo.ResponseHeader depends on
com.opendemand.jdo.WebResource.
Mapping file:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<class name="com.opendemand.jdo.WebResource"
auto-complete="false" identity="webResourceId" key-generator="HIGH-LOW"
>
<description>Default mapping for class
com.opendemand.jdo.WebResource</description>
<map-to table="web_resource"
xml="web-resource"/>
<cache-type type="unlimited" />
:
<field name="responseHeaders"
type="com.opendemand.jdo.ResponseHeader"
required="false"
direct="false" transient="false"
collection="arraylist"
get-method="getResponseHeaders" set-method="addResponseHeader"
>
<bind-xml name="response-headers" node="element"
auto-naming="deriveByClass"/>
<sql many-key="web_resource_id" dirty="ignore"
/>
</field>
</class>
Java Code:
WebResource.java:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public class WebResource implements WebResourceContainer,
Serializable, Comparable, Persistent, TimeStampable, Cloneable {
public void
addResponseHeader(ResponseHeader hdr
){
hdr.setWebResource(this);
responseHeaders.add(hdr);
}
hdr.setWebResource(this);
responseHeaders.add(hdr);
}
}