Hi,
I have prepared a test data xml file for inheritance mapping 2 with all
relationships. Note, that the schema for mapping 2 puts some constraints
on the object model, as there are:
- Managers, mentors, hradvisors, and employees of the month are fulltime
employees.
- Only fulltime employees can have insurances, can be project members,
and can be project reviewers.
- Separate phone number type tables for persons, fulltime employees, and
parttime employees.
Please review the attached file if it complies to the constraints above.
Regards,
Michael
--
-------------------------------------------------------------------
Michael Watzek [EMAIL PROTECTED] Engineering GmbH
mailto:[EMAIL PROTECTED] Buelowstr. 66
Tel.: ++49/30/235 520 36 10783 Berlin - Germany
Fax.: ++49/30/217 520 12 http://www.spree.de/
-------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<description>Company instances for CompletenessTest with all relationships</description>
<bean id="root" class="java.util.ArrayList">
<constructor-arg index="0">
<list>
<ref local="company1"/>
</list>
</constructor-arg>
</bean>
<bean id="company1" class="org.apache.jdo.tck.pc.company.Company">
<constructor-arg index="0" type="long"><value>1</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>Sun Microsystems, Inc.</value></constructor-arg>
<constructor-arg index="2" type="java.util.Date"><value>11/Apr/1952</value></constructor-arg>
<constructor-arg index="3" type="org.apache.jdo.tck.pc.company.IAddress"><ref local="addr1"/></constructor-arg>
<property name="departments">
<set>
<ref local="dept1"/>
<ref local="dept2"/>
</set>
</property>
</bean>
<bean id="dept1" class="org.apache.jdo.tck.pc.company.Department">
<constructor-arg index="0" type="long"><value>1</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String" ><value>Development</value></constructor-arg>
<property name="company"><ref bean="company1"/></property>
<property name="employees">
<set>
<ref local="emp1"/>
<ref local="emp2"/>
<ref local="emp3"/>
</set>
</property>
<property name="fundedEmps">
<set>
<ref local="emp2"/>
<ref local="emp3"/>
</set>
</property>
</bean>
<bean id="dept2" class="org.apache.jdo.tck.pc.company.Department">
<constructor-arg index="0" type="long"><value>2</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String" ><value>Human Resources</value></constructor-arg>
<property name="company"><ref bean="company1"/></property>
<property name="employees">
<set>
<ref local="emp4"/>
<ref local="emp5"/>
</set>
</property>
<property name="fundedEmps">
<set>
<ref local="emp1"/>
<ref local="emp4"/>
<ref local="emp5"/>
</set>
</property>
</bean>
<bean id="emp1" class="org.apache.jdo.tck.pc.company.FullTimeEmployee">
<constructor-arg index="0" type="long"><value>1</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>emp1First</value></constructor-arg>
<constructor-arg index="2" type="java.lang.String"><value>emp1Last</value></constructor-arg>
<constructor-arg index="3" type="java.lang.String"><value>emp1Middle</value></constructor-arg>
<constructor-arg index="4" type="java.util.Date"><value>10/Jun/1970</value></constructor-arg>
<constructor-arg index="5" type="org.apache.jdo.tck.pc.company.IAddress"><ref local="addr1"/></constructor-arg>
<constructor-arg index="6" type="java.util.Date"><value>1/Jan/1999</value></constructor-arg>
<constructor-arg index="7" type="double"><value>20000</value></constructor-arg>
<property name="weeklyhours"><value>40</value></property>
<property name="medicalInsurance"><ref bean="medicalIns1"/></property>
<property name="dentalInsurance"><ref bean="dentalIns1"/></property>
<property name="phoneNumbers">
<map>
<entry key="home"><value>1111</value></entry>
<entry key="work"><value>123456-1</value></entry>
</map>
</property>
<property name="department"><ref bean="dept1"/></property>
<property name="fundingDept"><ref bean="dept2"/></property>
<property name="manager"><ref bean="emp2"/></property>
<property name="mentor"><ref bean="emp2"/></property>
<property name="protege"><ref bean="emp3"/></property>
<property name="hradvisor"><ref bean="emp5"/></property>
<property name="reviewedProjects">
<set>
<ref local="proj3"/>
</set>
</property>
<property name="projects">
<set>
<ref local="proj1"/>
</set>
</property>
</bean>
<bean id="emp2" class="org.apache.jdo.tck.pc.company.FullTimeEmployee">
<constructor-arg index="0" type="long"><value>2</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>emp2First</value></constructor-arg>
<constructor-arg index="2" type="java.lang.String"><value>emp2Last</value></constructor-arg>
<constructor-arg index="3" type="java.lang.String"><value>emp2Middle</value></constructor-arg>
<constructor-arg index="4" type="java.util.Date"><value>22/Dec/1975</value></constructor-arg>
<constructor-arg index="5" type="org.apache.jdo.tck.pc.company.IAddress"><ref local="addr2"/></constructor-arg>
<constructor-arg index="6" type="java.util.Date"><value>1/Jul/2003</value></constructor-arg>
<constructor-arg index="7" type="double"><value>10000</value></constructor-arg>
<property name="weeklyhours"><value>40</value></property>
<property name="medicalInsurance"><ref bean="medicalIns2"/></property>
<property name="dentalInsurance"><ref bean="dentalIns2"/></property>
<property name="phoneNumbers">
<map>
<entry key="home"><value>2222</value></entry>
<entry key="work"><value>123456-2</value></entry>
</map>
</property>
<property name="department"><ref bean="dept1"/></property>
<property name="fundingDept"><ref bean="dept1"/></property>
<property name="protege"><ref bean="emp1"/></property>
<property name="hradvisor"><ref bean="emp5"/></property>
<property name="projects">
<set>
<ref local="proj1"/>
<ref local="proj2"/>
</set>
</property>
<property name="team">
<set>
<ref local="emp1"/>
<ref local="emp3"/>
<ref local="emp4"/>
<ref local="emp5"/>
</set>
</property>
</bean>
<bean id="emp3" class="org.apache.jdo.tck.pc.company.PartTimeEmployee">
<constructor-arg index="0" type="long"><value>3</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>emp3First</value></constructor-arg>
<constructor-arg index="2" type="java.lang.String"><value>emp3Last</value></constructor-arg>
<constructor-arg index="3" type="java.lang.String"><value>emp3Middle</value></constructor-arg>
<constructor-arg index="4" type="java.util.Date"><value>5/Sep/1972</value></constructor-arg>
<constructor-arg index="5" type="org.apache.jdo.tck.pc.company.IAddress"><ref local="addr3"/></constructor-arg>
<constructor-arg index="6" type="java.util.Date"><value>15/Aug/2002</value></constructor-arg>
<constructor-arg index="7" type="double"><value>15000</value></constructor-arg>
<property name="weeklyhours"><value>19</value></property>
<property name="phoneNumbers">
<map>
<entry key="home"><value>3333</value></entry>
<entry key="work"><value>123456-3</value></entry>
</map>
</property>
<property name="department"><ref bean="dept1"/></property>
<property name="fundingDept"><ref bean="dept1"/></property>
<property name="manager"><ref bean="emp2"/></property>
<property name="mentor"><ref bean="emp1"/></property>
<property name="hradvisor"><ref bean="emp5"/></property>
</bean>
<bean id="emp4" class="org.apache.jdo.tck.pc.company.PartTimeEmployee">
<constructor-arg index="0" type="long"><value>4</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>emp4First</value></constructor-arg>
<constructor-arg index="2" type="java.lang.String"><value>emp4Last</value></constructor-arg>
<constructor-arg index="3" type="java.lang.String"><value>emp4Middle</value></constructor-arg>
<constructor-arg index="4" type="java.util.Date"><value>6/Sep/1973</value></constructor-arg>
<constructor-arg index="5" type="org.apache.jdo.tck.pc.company.IAddress"><ref local="addr3"/></constructor-arg>
<constructor-arg index="6" type="java.util.Date"><value>15/Apr/2001</value></constructor-arg>
<constructor-arg index="7" type="double"><value>13000</value></constructor-arg>
<property name="phoneNumbers">
<map>
<entry key="home"><value>3343</value></entry>
<entry key="work"><value>124456-3</value></entry>
</map>
</property>
<property name="department"><ref bean="dept2"/></property>
<property name="fundingDept"><ref bean="dept2"/></property>
<property name="manager"><ref bean="emp2"/></property>
<property name="mentor"><ref bean="emp5"/></property>
<property name="hradvisor"><ref bean="emp5"/></property>
</bean>
<bean id="emp5" class="org.apache.jdo.tck.pc.company.FullTimeEmployee">
<constructor-arg index="0" type="long"><value>5</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>emp5First</value></constructor-arg>
<constructor-arg index="2" type="java.lang.String"><value>emp5Last</value></constructor-arg>
<constructor-arg index="3" type="java.lang.String"><value>emp5Middle</value></constructor-arg>
<constructor-arg index="4" type="java.util.Date"><value>5/Jul/1962</value></constructor-arg>
<constructor-arg index="5" type="org.apache.jdo.tck.pc.company.IAddress"><ref local="addr3"/></constructor-arg>
<constructor-arg index="6" type="java.util.Date"><value>15/Aug/1998</value></constructor-arg>
<constructor-arg index="7" type="double"><value>45000</value></constructor-arg>
<property name="medicalInsurance"><ref bean="medicalIns5"/></property>
<property name="dentalInsurance"><ref bean="dentalIns5"/></property>
<property name="phoneNumbers">
<map>
<entry key="home"><value>3363</value></entry>
<entry key="work"><value>126456-3</value></entry>
</map>
</property>
<property name="department"><ref bean="dept2"/></property>
<property name="fundingDept"><ref bean="dept2"/></property>
<property name="manager"><ref bean="emp2"/></property>
<property name="protege"><ref bean="emp4"/></property>
<property name="projects">
<set>
<ref local="proj3"/>
</set>
</property>
<property name="reviewedProjects">
<set>
<ref local="proj2"/>
</set>
</property>
<property name="hradvisees">
<set>
<ref local="emp1"/>
<ref local="emp2"/>
<ref local="emp3"/>
<ref local="emp4"/>
</set>
</property>
</bean>
<bean id="addr1" class="org.apache.jdo.tck.pc.company.Address">
<constructor-arg index="0" type="long"><value>1</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>Unter den Linden 1</value></constructor-arg>
<constructor-arg index="2" type="java.lang.String"><value>Berlin</value></constructor-arg>
<constructor-arg index="3" type="java.lang.String"><value> </value></constructor-arg>
<constructor-arg index="4" type="java.lang.String"><value>12345</value></constructor-arg>
<constructor-arg index="5" type="java.lang.String"><value>Germany</value></constructor-arg>
</bean>
<bean id="addr2" class="org.apache.jdo.tck.pc.company.Address">
<constructor-arg index="0" type="long"><value>2</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>Broadway 1</value></constructor-arg>
<constructor-arg index="2" type="java.lang.String"><value>New York</value></constructor-arg>
<constructor-arg index="3" type="java.lang.String"><value>NY</value></constructor-arg>
<constructor-arg index="4" type="java.lang.String"><value>10000</value></constructor-arg>
<constructor-arg index="5" type="java.lang.String"><value>USA</value></constructor-arg>
</bean>
<bean id="addr3" class="org.apache.jdo.tck.pc.company.Address">
<constructor-arg index="0" type="long"><value>3</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>Market St.</value></constructor-arg>
<constructor-arg index="2" type="java.lang.String"><value>San Francisco</value></constructor-arg>
<constructor-arg index="3" type="java.lang.String"><value>CA</value></constructor-arg>
<constructor-arg index="4" type="java.lang.String"><value>94102</value></constructor-arg>
<constructor-arg index="5" type="java.lang.String"><value>USA</value></constructor-arg>
</bean>
<bean id="medicalIns1" class="org.apache.jdo.tck.pc.company.MedicalInsurance">
<constructor-arg index="0" type="long"><value>1</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>Carrier1</value></constructor-arg>
<constructor-arg index="2" type="java.lang.String"><value>PPO</value></constructor-arg>
<property name="employee"><ref bean="emp1"/></property>
</bean>
<bean id="medicalIns2" class="org.apache.jdo.tck.pc.company.MedicalInsurance">
<constructor-arg index="0" type="long"><value>2</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>Carrier2</value></constructor-arg>
<constructor-arg index="2" type="java.lang.String"><value>HMO</value></constructor-arg>
<property name="employee"><ref bean="emp2"/></property>
</bean>
<bean id="medicalIns3" class="org.apache.jdo.tck.pc.company.MedicalInsurance">
<constructor-arg index="0" type="long"><value>3</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>Carrier3</value></constructor-arg>
<constructor-arg index="2" type="java.lang.String"><value>HMO</value></constructor-arg>
</bean>
<bean id="medicalIns4" class="org.apache.jdo.tck.pc.company.MedicalInsurance">
<constructor-arg index="0" type="long"><value>4</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>Carrier4</value></constructor-arg>
<constructor-arg index="2" type="java.lang.String"><value>HMO</value></constructor-arg>
</bean>
<bean id="medicalIns5" class="org.apache.jdo.tck.pc.company.MedicalInsurance">
<constructor-arg index="0" type="long"><value>5</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>Carrier5</value></constructor-arg>
<constructor-arg index="2" type="java.lang.String"><value>HMO</value></constructor-arg>
<property name="employee"><ref bean="emp5"/></property>
</bean>
<bean id="dentalIns1" class="org.apache.jdo.tck.pc.company.DentalInsurance">
<constructor-arg index="0" type="long"><value>11</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>Carrier1</value></constructor-arg>
<constructor-arg index="2" type="java.math.BigDecimal"><value>99.999</value></constructor-arg>
<property name="employee"><ref bean="emp1"/></property>
</bean>
<bean id="dentalIns2" class="org.apache.jdo.tck.pc.company.DentalInsurance">
<constructor-arg index="0" type="long"><value>12</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>Carrier2</value></constructor-arg>
<constructor-arg index="2" type="java.math.BigDecimal"><value>99.999</value></constructor-arg>
<property name="employee"><ref bean="emp2"/></property>
</bean>
<bean id="dentalIns3" class="org.apache.jdo.tck.pc.company.DentalInsurance">
<constructor-arg index="0" type="long"><value>13</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>Carrier3</value></constructor-arg>
<constructor-arg index="2" type="java.math.BigDecimal"><value>99.999</value></constructor-arg>
</bean>
<bean id="dentalIns4" class="org.apache.jdo.tck.pc.company.DentalInsurance">
<constructor-arg index="0" type="long"><value>14</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>Carrier4</value></constructor-arg>
<constructor-arg index="2" type="java.math.BigDecimal"><value>99.999</value></constructor-arg>
</bean>
<bean id="dentalIns5" class="org.apache.jdo.tck.pc.company.DentalInsurance">
<constructor-arg index="0" type="long"><value>15</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>Carrier5</value></constructor-arg>
<constructor-arg index="2" type="java.math.BigDecimal"><value>99.999</value></constructor-arg>
<property name="employee"><ref bean="emp5"/></property>
</bean>
<bean id="proj1" class="org.apache.jdo.tck.pc.company.Project">
<constructor-arg index="0" type="long"><value>1</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>orange</value></constructor-arg>
<constructor-arg index="2" type="java.math.BigDecimal"><value>2500000.99</value></constructor-arg>
<property name="members">
<set>
<ref local="emp1"/>
<ref local="emp2"/>
</set>
</property>
</bean>
<bean id="proj2" class="org.apache.jdo.tck.pc.company.Project">
<constructor-arg index="0" type="long"><value>2</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>blue</value></constructor-arg>
<constructor-arg index="2" type="java.math.BigDecimal"><value>50000.00</value></constructor-arg>
<property name="reviewers">
<set>
<ref local="emp5"/>
</set>
</property>
<property name="members">
<set>
<ref local="emp2"/>
</set>
</property>
</bean>
<bean id="proj3" class="org.apache.jdo.tck.pc.company.Project">
<constructor-arg index="0" type="long"><value>3</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>green</value></constructor-arg>
<constructor-arg index="2" type="java.math.BigDecimal"><value>2000.99</value></constructor-arg>
<property name="reviewers">
<set>
<ref local="emp1"/>
</set>
</property>
<property name="members">
<set>
<ref local="emp5"/>
</set>
</property>
</bean>
</beans>