Hi


If a parent object has a child with more children, all are one to many 
relationships,  then the child of the parent gets created before the parent 
and hence the reference to the parent  in that child is not populated 
before its creation in the DB....

I have autostore == true;

Object mapping:


The parent Object is fullContactInformation

If I comment out the last three field entries in FullUserInformation 
mapping then FullUserInformation is created correctly with 
FullContactInformation's OrganistaionOID as the reference value, however 
once any of these three are uncommented then it seems like 
FullUserInformation is created then its children then 
FullContactInformation and the true OrganisationOID doesn't not get written 
to the DB...

This is not a desirable action, is there a way to fix this, am I doing 
something fundamentally wrong...

If you can help thanks...

        <class name="exedra.data.FullContactInformation" 
identity="OrganisationOID" key-generator="HIGH/LOW">
                <description>Properties Map</description>
                <map-to table="Organisation" xml="Organisation" />
                <field name="OrganisationOID" type="integer">
                        <sql name="OrganisationOID" type="integer"/>
                </field>
     <field name="Name" type="string">
         <sql name="Name" type="varchar"/>
     </field>
     <field name="Logo" type="string">
         <sql name="Logo" type="varchar"/>
     </field>
     <field name="OrganisationCategoryOID" type="integer">
         <sql name="OrganisationCategoryOID" type="integer"/>
     </field>
     <field name="BusinessTypeOID" type="integer">
         <sql name="BusinessTypeOID" type="integer"/>
     </field>
     <field name="Comment" type="string" >
       <sql name="Comment" type="varchar"/>
     </field>
<!--
     <field name="ContactInformation" type="exedra.data.FullUserInformation" >
       <sql many-key="OrganisationOID"/>
     </field>
     <field name="ContactInformation" 
type="exedra.data.FullUserInformation" required="true" collection="vector">
       <sql many-key="ObjectOID"/>
     </field>
-->
     <field name="InternetAddresses" type="exedra.db.jdo.Internet" 
required="true" collection="vector">
         <sql many-key="ObjectOID"/>
     </field>
     <field name="PhoneNumbers" type="exedra.db.jdo.Phone" required="true" 
collection="vector">
         <sql many-key="ObjectOID"/>
     </field>
     <field name="Addresses" type="exedra.db.jdo.Address" required="true" 
collection="vector">
         <sql many-key="ObjectOID"/>
     </field>
     <field name="OrganisationsWhoHaveMeAsAContact" 
type="exedra.data.Organisation" required="true" collection="vector">
       <sql many-table="ContactsMap" many-key="OrganisationOID"/>
     </field>
     <field name="ContactInformation" 
type="exedra.data.FullUserInformation" required="true" collection="vector">
       <sql many-key="ObjectOID"/>
     </field>

        </class>


        <class name="exedra.data.FullUserInformation" identity="ContactOID" 
key-generator="HIGH/LOW">
                <description>Properties Map</description>
                <map-to table="Contact" xml="Contact" />
                <field name="ContactOID" type="integer">
                        <sql name="ContactOID" type="integer"/>
                </field>
                <field name="FirstName" type="string">
                        <sql name="FirstName" type="varchar"/>
                </field>
                <field name="MiddleInitial" type="string">
                        <sql name="MiddleInitial" type="varchar"/>
                </field>
                <field name="LastName" type="string">
                        <sql name="LastName" type="varchar"/>
                </field>
<!--
     <field name="OrganisationInformation" 
type="exedra.data.FullContactInformation">
         <sql name="OrganisationOID"/>
     </field>
-->

                <field name="OrganisationOID" type="integer">
                        <sql name="OrganisationOID" type="integer"/>
                </field>

                <field name="ObjectOID" type="integer">
                        <sql name="ObjectOID" type="integer"/>
                </field>

     <field name="MainContact" type="boolean">
         <sql name="MainContact" type="bit"/>
     </field>
     <field name="InternetAddresses" type="exedra.db.jdo.Internet" 
required="true" collection="vector">
         <sql many-key="ObjectOID"/>
     </field>
<!--
     <field name="PhoneNumbers" type="exedra.db.jdo.Phone" required="true" 
collection="vector">
         <sql many-key="ObjectOID"/>
     </field>
     <field name="Addresses" type="exedra.db.jdo.Address" required="true" 
collection="vector">
         <sql many-key="ObjectOID"/>
     </field>
-->
        </class>
</mapping>

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to