| <?xml version = '1.0' encoding = 'UTF-8'?> |
| <!-- |
| |
| Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved. |
| |
| This program and the accompanying materials are made available under the |
| terms of the Eclipse Public License v. 2.0 which is available at |
| http://www.eclipse.org/legal/epl-2.0, |
| or the Eclipse Distribution License v. 1.0 which is available at |
| http://www.eclipse.org/org/documents/edl-v10.php. |
| |
| SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause |
| |
| --> |
| |
| <object-persistence version="Eclipse Persistence Services - 0.1-incubation" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.eclipse.org/eclipselink/xsds/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
| <name>Employee</name> |
| <class-mapping-descriptors> |
| <class-mapping-descriptor xsi:type="eis-class-mapping-descriptor"> |
| <class>org.eclipse.persistence.testing.models.employee.domain.Address</class> |
| <alias>Address</alias> |
| <events xsi:type="event-policy"/> |
| <querying xsi:type="query-policy"/> |
| <attribute-mappings> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>id</attribute-name> |
| <field name="ADDRESS_ID/text()" xsi:type="node"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>street</attribute-name> |
| <field name="STREET/text()" xsi:type="node"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>city</attribute-name> |
| <field name="CITY/text()" xsi:type="node"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>province</attribute-name> |
| <field name="PROVINCE/text()" xsi:type="node"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>country</attribute-name> |
| <field name="COUNTRY/text()" xsi:type="node"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>postalCode</attribute-name> |
| <field name="P_CODE/text()" xsi:type="node"/> |
| </attribute-mapping> |
| </attribute-mappings> |
| <descriptor-type>aggregate</descriptor-type> |
| <instantiation/> |
| <copying xsi:type="instantiation-copy-policy"/> |
| <change-policy xsi:type="deferred-detection-change-policy"/> |
| <datatype>ADDRESS</datatype> |
| <namespace-resolver/> |
| </class-mapping-descriptor> |
| <class-mapping-descriptor xsi:type="eis-class-mapping-descriptor"> |
| <class>org.eclipse.persistence.testing.models.employee.domain.Employee</class> |
| <alias></alias> |
| <primary-key> |
| <field name="EMP_ID/text()" xsi:type="node"/> |
| </primary-key> |
| <events xsi:type="event-policy"/> |
| <querying xsi:type="query-policy"/> |
| <attribute-mappings> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>id</attribute-name> |
| <field name="EMP_ID/text()" xsi:type="node"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>firstName</attribute-name> |
| <field name="F_NAME/text()" xsi:type="node"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>lastName</attribute-name> |
| <field name="L_NAME/text()" xsi:type="node"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>gender</attribute-name> |
| <field name="GENDER/text()" xsi:type="node"/> |
| <converter xsi:type="object-type-converter"> |
| <type-mappings> |
| <type-mapping> |
| <object-value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Male</object-value> |
| <data-value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">M</data-value> |
| </type-mapping> |
| <type-mapping> |
| <object-value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Female</object-value> |
| <data-value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">F</data-value> |
| </type-mapping> |
| </type-mappings> |
| </converter> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-composite-object-mapping"> |
| <attribute-name>address</attribute-name> |
| <get-method>getAddress</get-method> |
| <set-method>setAddress</set-method> |
| <reference-class>org.eclipse.persistence.testing.models.employee.domain.Address</reference-class> |
| <field name="ADDRESS" xsi:type="node"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-one-to-many-mapping"> |
| <attribute-name>managedEmployees</attribute-name> |
| <reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class> |
| <container xsi:type="list-container-policy"> |
| <collection-type>java.util.Vector</collection-type> |
| </container> |
| <indirection xsi:type="value-holder-indirection-policy"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>salary</attribute-name> |
| <field name="SALARY/text()" xsi:type="node"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-transformation-mapping"> |
| <attribute-name>normalHours</attribute-name> |
| <attribute-transformer>org.eclipse.persistence.testing.models.employee.eis.xmlfile.NormalHoursTransformer</attribute-transformer> |
| <field-transformations> |
| <field-transformation xsi:type="transformer-based-field-transformation"> |
| <field name="END_TIME/text()" xsi:type="node"> |
| <schema-type>{http://www.w3.org/2001/XMLSchema}time</schema-type> |
| </field> |
| <transformer-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.NormalHoursTransformer</transformer-class> |
| </field-transformation> |
| <field-transformation xsi:type="transformer-based-field-transformation"> |
| <field name="START_TIME/text()" xsi:type="node"> |
| <schema-type>{http://www.w3.org/2001/XMLSchema}time</schema-type> |
| </field> |
| <transformer-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.NormalHoursTransformer</transformer-class> |
| </field-transformation> |
| </field-transformations> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-composite-object-mapping"> |
| <attribute-name>period</attribute-name> |
| <reference-class>org.eclipse.persistence.testing.models.employee.domain.EmploymentPeriod</reference-class> |
| <field name="PERIOD" xsi:type="node"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-composite-direct-collection-mapping"> |
| <attribute-name>responsibilitiesList</attribute-name> |
| <get-method>getResponsibilitiesList</get-method> |
| <set-method>setResponsibilitiesList</set-method> |
| <field name="RESPONS/text()" xsi:type="node"/> |
| <container xsi:type="list-container-policy"> |
| <collection-type>java.util.Vector</collection-type> |
| </container> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-one-to-one-mapping"> |
| <attribute-name>manager</attribute-name> |
| <reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class> |
| <foreign-key> |
| <field-reference> |
| <source-field name="MANAGER_ID/text()" xsi:type="node"/> |
| <target-field name="EMP_ID/text()" xsi:type="node"/> |
| </field-reference> |
| </foreign-key> |
| <foreign-key-fields> |
| <field name="MANAGER_ID/text()" xsi:type="node"/> |
| </foreign-key-fields> |
| <indirection xsi:type="value-holder-indirection-policy"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-composite-collection-mapping"> |
| <attribute-name>phoneNumbers</attribute-name> |
| <get-method>getPhoneNumbers</get-method> |
| <set-method>setPhoneNumbers</set-method> |
| <reference-class>org.eclipse.persistence.testing.models.employee.domain.PhoneNumber</reference-class> |
| <field name="PHONES/PHONE" xsi:type="node"/> |
| <container xsi:type="list-container-policy"> |
| <collection-type>java.util.Vector</collection-type> |
| </container> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-one-to-many-mapping"> |
| <attribute-name>projects</attribute-name> |
| <reference-class>org.eclipse.persistence.testing.models.employee.domain.Project</reference-class> |
| <source-foreign-key-fields> |
| <field name="text()" xsi:type="node"/> |
| </source-foreign-key-fields> |
| <target-foreign-key-fields> |
| <field name="PROJ_ID/text()" xsi:type="node"/> |
| </target-foreign-key-fields> |
| <foreign-key-grouping-element name="PROJECTS/PROJ_ID" xsi:type="node"/> |
| <container xsi:type="list-container-policy"> |
| <collection-type>java.util.Vector</collection-type> |
| </container> |
| <indirection xsi:type="value-holder-indirection-policy"/> |
| </attribute-mapping> |
| </attribute-mappings> |
| <descriptor-type>independent</descriptor-type> |
| <amendment> |
| <amendment-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.EmployeeAmendments</amendment-class> |
| <amendment-method>addToEmployeeDescriptor</amendment-method> |
| </amendment> |
| <instantiation/> |
| <copying xsi:type="instantiation-copy-policy"/> |
| <change-policy xsi:type="deferred-detection-change-policy"/> |
| <datatype>EMPLOYEE</datatype> |
| <namespace-resolver/> |
| </class-mapping-descriptor> |
| <class-mapping-descriptor xsi:type="eis-class-mapping-descriptor"> |
| <class>org.eclipse.persistence.testing.models.employee.domain.EmploymentPeriod</class> |
| <alias>EmploymentPeriod</alias> |
| <events xsi:type="event-policy"/> |
| <querying xsi:type="query-policy"/> |
| <attribute-mappings> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>endDate</attribute-name> |
| <field name="END_DATE/text()" xsi:type="node"> |
| <schema-type>{http://www.w3.org/2001/XMLSchema}date</schema-type> |
| </field> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>startDate</attribute-name> |
| <field name="START_DATE/text()" xsi:type="node"> |
| <schema-type>{http://www.w3.org/2001/XMLSchema}date</schema-type> |
| </field> |
| </attribute-mapping> |
| </attribute-mappings> |
| <descriptor-type>aggregate</descriptor-type> |
| <instantiation/> |
| <copying xsi:type="instantiation-copy-policy"/> |
| <change-policy xsi:type="deferred-detection-change-policy"/> |
| <datatype>PERIOD</datatype> |
| <namespace-resolver/> |
| </class-mapping-descriptor> |
| <class-mapping-descriptor xsi:type="eis-class-mapping-descriptor"> |
| <class>org.eclipse.persistence.testing.models.employee.domain.LargeProject</class> |
| <alias></alias> |
| <inheritance xsi:type="qname-inheritance-policy"> |
| <parent-class>org.eclipse.persistence.testing.models.employee.domain.Project</parent-class> |
| </inheritance> |
| <events xsi:type="event-policy"/> |
| <querying xsi:type="query-policy"/> |
| <attribute-mappings> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>budget</attribute-name> |
| <field name="BUDGET/text()" xsi:type="node"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>milestoneVersion</attribute-name> |
| <field name="MILESTONE/text()" xsi:type="node"> |
| <schema-type>{http://www.w3.org/2001/XMLSchema}dateTime</schema-type> |
| </field> |
| </attribute-mapping> |
| </attribute-mappings> |
| <descriptor-type>independent</descriptor-type> |
| <amendment> |
| <amendment-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.EmployeeAmendments</amendment-class> |
| <amendment-method>addToLargeProjectDescriptor</amendment-method> |
| </amendment> |
| <instantiation/> |
| <copying xsi:type="instantiation-copy-policy"/> |
| <change-policy xsi:type="deferred-detection-change-policy"/> |
| <datatype>PROJECT</datatype> |
| <namespace-resolver/> |
| </class-mapping-descriptor> |
| <class-mapping-descriptor xsi:type="eis-class-mapping-descriptor"> |
| <class>org.eclipse.persistence.testing.models.employee.domain.PhoneNumber</class> |
| <alias>PhoneNumber</alias> |
| <events xsi:type="event-policy"/> |
| <querying xsi:type="query-policy"/> |
| <attribute-mappings> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>type</attribute-name> |
| <field name="@TYPE" xsi:type="node"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>areaCode</attribute-name> |
| <field name="AREA_CODE/text()" xsi:type="node"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>number</attribute-name> |
| <field name="P_NUMBER/text()" xsi:type="node"/> |
| </attribute-mapping> |
| </attribute-mappings> |
| <descriptor-type>aggregate</descriptor-type> |
| <instantiation/> |
| <copying xsi:type="instantiation-copy-policy"/> |
| <change-policy xsi:type="deferred-detection-change-policy"/> |
| <datatype>PHONE</datatype> |
| <namespace-resolver/> |
| </class-mapping-descriptor> |
| <class-mapping-descriptor xsi:type="eis-class-mapping-descriptor"> |
| <class>org.eclipse.persistence.testing.models.employee.domain.Project</class> |
| <alias></alias> |
| <primary-key> |
| <field name="PROJ_ID/text()" xsi:type="node"/> |
| </primary-key> |
| <inheritance xsi:type="qname-inheritance-policy"> |
| <class-indicator-field name="@TYPE" xsi:type="column"/> |
| <class-indicator-mappings> |
| <class-indicator-mapping> |
| <class>org.eclipse.persistence.testing.models.employee.domain.SmallProject</class> |
| <class-indicator xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">S</class-indicator> |
| </class-indicator-mapping> |
| <class-indicator-mapping> |
| <class>org.eclipse.persistence.testing.models.employee.domain.LargeProject</class> |
| <class-indicator xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">L</class-indicator> |
| </class-indicator-mapping> |
| </class-indicator-mappings> |
| </inheritance> |
| <events xsi:type="event-policy"/> |
| <querying xsi:type="query-policy"/> |
| <attribute-mappings> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>id</attribute-name> |
| <field name="PROJ_ID/text()" xsi:type="node"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>name</attribute-name> |
| <field name="PROJ_NAME/text()" xsi:type="node"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-direct-mapping"> |
| <attribute-name>description</attribute-name> |
| <field name="DESCRIP/text()" xsi:type="node"/> |
| </attribute-mapping> |
| <attribute-mapping xsi:type="eis-one-to-one-mapping"> |
| <attribute-name>teamLeader</attribute-name> |
| <reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class> |
| <foreign-key> |
| <field-reference> |
| <source-field name="LEADER_ID/text()" xsi:type="node"/> |
| <target-field name="EMP_ID/text()" xsi:type="node"/> |
| </field-reference> |
| </foreign-key> |
| <foreign-key-fields> |
| <field name="LEADER_ID/text()" xsi:type="node"/> |
| </foreign-key-fields> |
| <indirection xsi:type="value-holder-indirection-policy"/> |
| </attribute-mapping> |
| </attribute-mappings> |
| <descriptor-type>independent</descriptor-type> |
| <amendment> |
| <amendment-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.EmployeeAmendments</amendment-class> |
| <amendment-method>addToProjectDescriptor</amendment-method> |
| </amendment> |
| <instantiation/> |
| <copying xsi:type="instantiation-copy-policy"/> |
| <change-policy xsi:type="deferred-detection-change-policy"/> |
| <datatype>PROJECT</datatype> |
| <namespace-resolver/> |
| </class-mapping-descriptor> |
| <class-mapping-descriptor xsi:type="eis-class-mapping-descriptor"> |
| <class>org.eclipse.persistence.testing.models.employee.domain.SmallProject</class> |
| <alias></alias> |
| <inheritance xsi:type="qname-inheritance-policy"> |
| <parent-class>org.eclipse.persistence.testing.models.employee.domain.Project</parent-class> |
| </inheritance> |
| <events xsi:type="event-policy"/> |
| <querying xsi:type="query-policy"/> |
| <descriptor-type>independent</descriptor-type> |
| <amendment> |
| <amendment-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.EmployeeAmendments</amendment-class> |
| <amendment-method>addToSmallProjectDescriptor</amendment-method> |
| </amendment> |
| <instantiation/> |
| <copying xsi:type="instantiation-copy-policy"/> |
| <change-policy xsi:type="deferred-detection-change-policy"/> |
| <datatype>PROJECT</datatype> |
| <namespace-resolver/> |
| </class-mapping-descriptor> |
| </class-mapping-descriptors> |
| <login xsi:type="eis-login"> |
| <connection-spec-class>org.eclipse.persistence.eis.EISConnectionSpec</connection-spec-class> |
| </login> |
| </object-persistence> |