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.
 
  • This Database operation failed : Nested error: java.sql.SQLException: Integrity constraint violation: REQUEST_HEADER_FK table: WEB_RESOURCE in statement [INSERT INTO request_header (id,name,value,web_resource_id) VALUES (66,'Pragma','no-cache',14)]
  •  
    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);
        }
    }
     

    Reply via email to