Hi Sean,

your mapping seam to be OK.

Which methods to access the colComponents property in jpProduct have you implemented (get/set/add) and how do they look like?

How do the failing part of code looks like where you add Component B to Produkt Y?

Regards
Ralf


Sean McDonald schrieb:
Ralf Joachim wrote:

Hi Sean,

can you please send as at minimum a mapping file or even better a complete test case?


Hi Ralf - here is the mapping file. I am currently combin through the project code, I will look at putting together a small test case in a little while.

Many thanks
Sean


------------------------------------------------------------------------

<mapping>

        <key-generator name="SEQUENCE" alias="seqgen">
                <param name="sequence" value="{0}_{1}_seq"/>
        </key-generator>


<class name="za.co.jointprosperity.jpCompany" identity="company_id" key-generator="seqgen">
                <map-to table="jpcompany"/>
                <cache-type type="unlimited"/>
                <field name="company_id" type="integer">
                        <sql name="company_id" type="integer" />
                </field>
                <field name="name" type="string">
                        <sql name="companyname" type="varchar" />
                </field>
                <field name="vatNumber" type="string">
                        <sql name="vatno" type="varchar" />
                </field>
                
                <field name="colProducts" type="za.co.jointprosperity.jpProduct" 
collection="arraylist">
                        <sql many-key="id_company" />
                </field>
                <field name="colHrPersons" type="za.co.jointprosperity.jpHrPerson" 
collection="arraylist">
                        <sql many-key="id_company"/>
                </field>
                <field name="colCandidates" type="za.co.jointprosperity.jpCandidate" 
collection="arraylist">
                        <sql many-key="id_company"/>
                </field>
        </class>
        
        <class name = "za.co.jointprosperity.jpHrPerson" identity ="client_id"
                depends="za.co.jointprosperity.jpCompany" 
key-generator="seqgen">
                <map-to table ="jpclient"/>
                <field name="client_id" type="integer">
                        <sql name ="client_id" type="integer"/>
                </field>
                <field name = "objCompany" type = "za.co.jointprosperity.jpCompany" 
required="true">
                        <sql name="id_company" />
                </field>
                <field name = "contactperson" type = "string" required="true">
                        <sql name="contactperson" type="varchar"/>
                </field>
                <field name = "contactdesignation" type ="string">
                        <sql name="contactdesignation" type = "varchar"/>
                </field>
                <field name = "contactnumber" type="string" required="true">
                        <sql name="contactnumber" type ="varchar"/>
                </field>
                <field name ="email" type="string" required="true">
                        <sql name ="email" type = "varchar" />
                </field>
                <field name ="physadd1" type="string">
                        <sql name="physadd1" type="varchar" />
                </field>
                <field name ="physadd2" type="string">
                        <sql name="physadd2" type="varchar" />
                </field>
                <field name ="physadd3" type="string">
                        <sql name="physadd3" type="varchar" />
                </field>
                <field name ="physadd4" type="string">
                        <sql name="physadd4" type="varchar" />
                </field>
                <field name ="postadd1" type="string">
                        <sql name="postadd1" type="varchar" />
                </field>
                <field name ="postadd2" type="string">
                        <sql name="postadd2" type="varchar" />
                </field>
                <field name ="postadd3" type="string">
                        <sql name="postadd3" type="varchar" />
                </field>
                <field name ="postadd4" type="string">
                        <sql name="postadd4" type="varchar" />
                </field>
                <field name ="postalcode" type="string">
                        <sql name="postalcode" type="char"/>
                </field>
        </class>

        <class name="za.co.jointprosperity.jpCalendarException" 
identity="exception_id"
                key-generator="seqgen">
                <cache-type type="unlimited"/>
                <map-to table="jpexception"/>
                <field name="exception_id" type="integer">
                        <sql name="exception_id" type="integer" />
                </field>
                <field name="exceptionDate" type="date">
                        <sql name="exceptiondate" type="date" />
                </field>
                <field name="exceptionDescription" type="string">
                        <sql name="description" type="varchar" />
                </field>
        </class>
        
        <class name="za.co.jointprosperity.jpComponent" identity="Component_id"
                key-generator="seqgen">
                <cache-type type="unlimited"/>
                <map-to table="jpComponent"/>
                <field name="Component_id" type="integer">
                        <sql name="Component_id" type="integer"/>
                </field>
                <field name="title" type="string" required="true">
                        <sql name="title" type="varchar"/>
                </field>
                <field name="description" type="string" required="true">
                        <sql name="description" type="varchar"/>
                </field>
                <field name="price" type="double">
                        <sql name="defaultprice" type="double"/>
                </field>
                <field name="colReports" type="za.co.jointprosperity.jpReport"
                           collection="arraylist">
                        <sql many-key="id_Component" />
                </field>
                <field name="colScores" type="za.co.jointprosperity.jpScore"
                                collection="arraylist" get-method="getColScores" 
set-method="setColScores">
                        <sql many-key="id_Component" />
                </field>
                <field name="colProducts" type="za.co.jointprosperity.jpProduct" 
collection="arraylist" required="true">
                        <sql name ="id_product" many-table="jpprodcomp" 
many-key="id_component" />
                </field>
        </class>
        
        <class name="za.co.jointprosperity.jpReport" identity="report_id"
                key-generator="seqgen" 
depends="za.co.jointprosperity.jpComponent">
                <cache-type type="unlimited"/>
                <map-to table="jpreport"/>
                <field name="report_id" type="integer">
                        <sql name="report_id" type="integer"/>
                </field>
                <field name="title" type="string" required="true">
                        <sql name="title" type="varchar"/>
                </field>
<field name="objComponent" type="za.co.jointprosperity.jpComponent" required="true">
                        <sql name="id_Component" />
                </field>          
                <field name="description" type="string" required="true">
                        <sql name="description" type="varchar"/>
                </field>
                <field name="id_purpose" type="integer">
                        <sql name="id_purpose" type="integer"/>
                </field>
                
        </class>
        
        <class name="za.co.jointprosperity.jpScore" identity="score_id"
                key-generator="seqgen" 
depends="za.co.jointprosperity.jpComponent">
                <cache-type type="unlimited"/>
                <map-to table="jpscore"/>
                <field name="score_id" type="integer">
                        <sql name="score_id" type="integer"/>
                </field>
<field name="objComponent" type="za.co.jointprosperity.jpComponent" required="true">
                        <sql name="id_Component" />
                </field>
                <field name="label" type="string" required="true">
                        <sql name="label" type="varchar"/>
                </field>
                <field name="nmax" type="integer">
                        <sql name="nmax" type="varchar"/>
                </field>
                <field name="nmin" type="integer">
                        <sql name="nmin" type="integer"/>
                </field>
                <field name="scoretype" type="string">
                        <sql name="scoretype" type="varchar"/>
                </field>
                <field name="validscores" type="string">
                        <sql name="validlist" type="varchar"/>
                </field>
        </class>
        
        <class name="za.co.jointprosperity.jpProduct" identity="product_id" 
key-generator="seqgen">
                <map-to table="jpproduct" />
                <cache-type type="unlimited"/>
                <field name="objCompany" type="za.co.jointprosperity.jpCompany" 
required="false">
                        <sql name="id_company" />
                </field>
                <field name="product_id" type="integer">
                        <sql name="product_id" type="integer" />
                </field>
                <field name="name" type="string">
                        <sql name="name" type="varchar"/>
                </field>
                <field name="description" type="string">
                        <sql name="description" type="varchar"/>
                </field>
                <field name="price" type="double">
                        <sql name="price" type="double"/>
                </field>
                <field name="colComponents" type="za.co.jointprosperity.jpComponent" 
collection="arraylist" required="true">
                        <sql name ="id_component" many-table="jpprodcomp" 
many-key="id_product" />
                </field>
        </class>
        
                
<class name = "za.co.jointprosperity.jpCandidate" identity ="candidate_id" key-generator="seqgen"
                depends = "za.co.jointprosperity.jpCompany">
                <map-to table ="jpcandidate"/>
                <field name="candidate_id" type="integer" >
                        <sql name ="candidate_id" type="integer"/>
                </field>
                <field name="company" type="za.co.jointprosperity.jpCompany" 
required="true">
                        <sql name="id_company"/>
                </field>
                <field name = "firstName" type = "string" required="true">
                        <sql name="firstname" type="varchar"/>
                </field>
                <field name = "surname" type = "string" required="true">
                        <sql name="surname" type="varchar"/>
                </field>
                <field name = "telc" type ="string">
                        <sql name="telc" type = "varchar"/>
                </field>
                <field name = "dateOfBirth" type ="date">
                        <sql name="dateofbirth" type = "date"/>
                </field>
                <field name = "telh" type ="string">
                        <sql name="telh" type = "varchar"/>
                </field>
                <field name ="email" type="string" required="true">
                        <sql name ="email" type = "varchar" />
                </field>
                <field name ="businessUnit" type="string">
                        <sql name="businessunit" type="varchar" />
                </field>
                <field name ="division" type="string">
                        <sql name="division" type="varchar" />
                </field>
                <field name="costCentre" type="string">
                        <sql name="costcentre" type="varchar"/>
                </field>
                <field name ="lineManager" type="string">
                        <sql name="linemanager" type="varchar" />
                </field>
                <field name ="lineManagerContactNumber" type="string">
                        <sql name="linemanagercontactnumber" type="varchar" />
                </field>
                <field name ="postadd1" type="string">
                        <sql name="postadd1" type="varchar" />
                </field>
                <field name ="postadd2" type="string">
                        <sql name="postadd2" type="varchar" />
                </field>
                <field name ="postadd3" type="string">
                        <sql name="postadd3" type="varchar" />
                </field>
                <field name ="postadd4" type="string">
                        <sql name="postadd4" type="varchar" />
                </field>
                <field name ="postalCode" type="string">
                        <sql name="postalcode" type="char"/>
                </field>
        </class>
        
</mapping>


------------------------------------------------------------------------

-------------------------------------------------
If you wish to unsubscribe from this list, please send an empty message to the following address:

[EMAIL PROTECTED]
-------------------------------------------------

--

Syscon Ingenieurb�ro f�r
Me�- und Datentechnik GmbH
Ralf Joachim
Raiffeisenstra�e 11
D-72127 Kusterdingen
Germany

Tel.   +49 7071 3690 52
Mobil: +49 173 9630135
Fax    +49 7071 3690 98

Email: [EMAIL PROTECTED]
Web:   www.syscon-world.de

-------------------------------------------------
If you wish to unsubscribe from this list, please send an empty message to the following address:

[EMAIL PROTECTED]
-------------------------------------------------

Reply via email to