blob: 48d9c344206674c7deb50d07fcce8c619db21397 [file] [log] [blame]
<?xml version = '1.0' encoding = 'UTF-8'?>
<object-persistence 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="relational-class-mapping-descriptor">
<class>org.eclipse.persistence.testing.models.employee.domain.Address</class>
<alias>Address</alias>
<primary-key>
<field table="ADDRESS" name="ADDRESS_ID" xsi:type="column"/>
</primary-key>
<events xsi:type="event-policy"/>
<querying xsi:type="query-policy">
<timeout>0</timeout>
</querying>
<attribute-mappings>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>city</attribute-name>
<field table="ADDRESS" name="CITY" xsi:type="column"/>
</attribute-mapping>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>country</attribute-name>
<field table="ADDRESS" name="COUNTRY" xsi:type="column"/>
</attribute-mapping>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>id</attribute-name>
<field table="ADDRESS" name="ADDRESS_ID" xsi:type="column"/>
</attribute-mapping>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>postalCode</attribute-name>
<field table="ADDRESS" name="P_CODE" xsi:type="column"/>
</attribute-mapping>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>province</attribute-name>
<field table="ADDRESS" name="PROVINCE" xsi:type="column"/>
</attribute-mapping>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>street</attribute-name>
<field table="ADDRESS" name="STREET" xsi:type="column"/>
</attribute-mapping>
</attribute-mappings>
<descriptor-type>independent</descriptor-type>
<sequencing>
<sequence-name>ADDRESS_SEQ</sequence-name>
<sequence-field table="ADDRESS" name="ADDRESS_ID" xsi:type="column"/>
</sequencing>
<instantiation/>
<copying xsi:type="instantiation-copy-policy"/>
<tables>
<table name="ADDRESS"/>
</tables>
</class-mapping-descriptor>
<class-mapping-descriptor xsi:type="relational-class-mapping-descriptor">
<class>org.eclipse.persistence.testing.models.employee.domain.Employee</class>
<alias>Employee</alias>
<primary-key>
<field table="EMPLOYEE" name="EMP_ID" xsi:type="column"/>
</primary-key>
<events xsi:type="event-policy"/>
<querying xsi:type="query-policy">
<queries>
<query name="cacheQueryResultsQuery" xsi:type="read-object-query">
<cache-query-results>true</cache-query-results>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</query>
<query name="PersistenceTestGetNotLike" xsi:type="read-object-query">
<criteria operator="notLike" xsi:type="relation-expression">
<left name="city" xsi:type="query-key-expression">
<base name="address" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Toronto</value>
</right>
</criteria>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</query>
<query name="memoryQueryThrowExceptionQuery" xsi:type="read-object-query">
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</query>
<query name="PersistenceTestGetNotEqual" xsi:type="read-object-query">
<criteria operator="notEqual" xsi:type="relation-expression">
<left name="city" xsi:type="query-key-expression">
<base name="address" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Toronto</value>
</right>
</criteria>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</query>
<query name="PersistenceTestGetNotNull" xsi:type="read-object-query">
<criteria function="notNull" xsi:type="function-expression">
<arguments>
<argument name="firstName" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</argument>
</arguments>
</criteria>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</query>
<query name="PersistenceTestAnyOfAllowingNoneEqual" xsi:type="read-all-query">
<criteria operator="equal" xsi:type="relation-expression">
<left name="areaCode" xsi:type="query-key-expression">
<base name="phoneNumbers" outer-join="true" any-of="true" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">613</value>
</right>
</criteria>
<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>
</query>
<query name="memoryQueryReturnConfirmedQuery" xsi:type="read-all-query">
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
<in-memory-querying>
<policy>ignore-exceptions-return-conformed</policy>
</in-memory-querying>
<container xsi:type="list-container-policy">
<collection-type>java.util.Vector</collection-type>
</container>
</query>
<query name="memoryQueryReturnNotConfirmedQuery" xsi:type="read-all-query">
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
<in-memory-querying>
<policy>ignore-exceptions-returned-not-conformed</policy>
</in-memory-querying>
<container xsi:type="list-container-policy">
<collection-type>java.util.Vector</collection-type>
</container>
</query>
<query name="PersistenceTestGetIsNull" xsi:type="read-object-query">
<criteria function="isNull" xsi:type="function-expression">
<arguments>
<argument name="address" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</argument>
</arguments>
</criteria>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</query>
<query name="PersistenceTestGetGreaterThanEqual" xsi:type="read-object-query">
<criteria operator="greaterThanEqual" xsi:type="relation-expression">
<left name="salary" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:int" xmlns:xsd="http://www.w3.org/2001/XMLSchema">0</value>
</right>
</criteria>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</query>
<query name="maxRowsQuery" xsi:type="read-all-query">
<max-rows>4</max-rows>
<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>
</query>
<query name="PersistenceTestGetAllowingNullEqual" xsi:type="read-all-query">
<criteria operator="equal" xsi:type="relation-expression">
<left name="city" xsi:type="query-key-expression">
<base name="address" outer-join="true" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Toronto</value>
</right>
</criteria>
<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>
</query>
<query name="PersistenceTestGetEqualIgnoringCase" xsi:type="read-object-query">
<criteria operator="equal" xsi:type="relation-expression">
<left function="upper" xsi:type="function-expression">
<arguments>
<argument name="city" xsi:type="query-key-expression">
<base name="address" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</argument>
</arguments>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">TORONTO</value>
</right>
</criteria>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</query>
<query name="PersistenceTestGetLike" xsi:type="read-object-query">
<criteria operator="like" xsi:type="relation-expression">
<left name="city" xsi:type="query-key-expression">
<base name="address" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Toronto</value>
</right>
</criteria>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</query>
<query name="PersistenceTestGetEqual" xsi:type="read-object-query">
<criteria operator="equal" xsi:type="relation-expression">
<left name="city" xsi:type="query-key-expression">
<base name="address" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Toronto</value>
</right>
</criteria>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</query>
<query name="PersistenceTestGetLessThan" xsi:type="read-object-query">
<criteria operator="lessThan" xsi:type="relation-expression">
<left name="salary" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:int" xmlns:xsd="http://www.w3.org/2001/XMLSchema">15</value>
</right>
</criteria>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</query>
<query name="shouldPrepareQuery" xsi:type="read-object-query">
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</query>
<query name="PersistenceTestGetLessThanEqual" xsi:type="read-object-query">
<criteria operator="lessThanEqual" xsi:type="relation-expression">
<left name="salary" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:int" xmlns:xsd="http://www.w3.org/2001/XMLSchema">15</value>
</right>
</criteria>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</query>
<query name="PersistenceTestGetNot" xsi:type="read-object-query">
<criteria function="not" xsi:type="function-expression">
<arguments>
<argument operator="equal" xsi:type="relation-expression">
<left name="city" xsi:type="query-key-expression">
<base name="address" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Toronto</value>
</right>
</argument>
</arguments>
</criteria>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</query>
<query name="useDistinctQuery" xsi:type="read-all-query">
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
<distinct-state>use-distinct</distinct-state>
<container xsi:type="list-container-policy">
<collection-type>java.util.Vector</collection-type>
</container>
</query>
<query name="queryTimeOutQuery" xsi:type="read-all-query">
<criteria operator="or" xsi:type="logic-expression">
<left operator="or" xsi:type="logic-expression">
<left operator="or" xsi:type="logic-expression">
<left operator="or" xsi:type="logic-expression">
<left operator="or" xsi:type="logic-expression">
<left operator="or" xsi:type="logic-expression">
<left operator="or" xsi:type="logic-expression">
<left operator="and" xsi:type="logic-expression">
<left operator="and" xsi:type="logic-expression">
<left operator="equal" xsi:type="relation-expression">
<left function="upper" xsi:type="function-expression">
<arguments>
<argument name="province" xsi:type="query-key-expression">
<base name="address" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</argument>
</arguments>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">BC</value>
</right>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="firstName" xsi:type="query-key-expression">
<base name="manager" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Bob</value>
</right>
</right>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="areaCode" xsi:type="query-key-expression">
<base name="phoneNumbers" any-of="true" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">604</value>
</right>
</right>
</left>
<right operator="and" xsi:type="logic-expression">
<left operator="and" xsi:type="logic-expression">
<left operator="equal" xsi:type="relation-expression">
<left function="upper" xsi:type="function-expression">
<arguments>
<argument name="province" xsi:type="query-key-expression">
<base name="address" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</argument>
</arguments>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">ON</value>
</right>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="firstName" xsi:type="query-key-expression">
<base name="manager" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Jill</value>
</right>
</right>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="areaCode" xsi:type="query-key-expression">
<base name="phoneNumbers" any-of="true" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">416</value>
</right>
</right>
</right>
</left>
<right operator="and" xsi:type="logic-expression">
<left operator="and" xsi:type="logic-expression">
<left operator="equal" xsi:type="relation-expression">
<left function="upper" xsi:type="function-expression">
<arguments>
<argument name="city" xsi:type="query-key-expression">
<base name="address" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</argument>
</arguments>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Ottawa</value>
</right>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="firstName" xsi:type="query-key-expression">
<base name="manager" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Sarah</value>
</right>
</right>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="areaCode" xsi:type="query-key-expression">
<base name="phoneNumbers" any-of="true" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">613</value>
</right>
</right>
</right>
</left>
<right operator="and" xsi:type="logic-expression">
<left operator="and" xsi:type="logic-expression">
<left operator="equal" xsi:type="relation-expression">
<left function="upper" xsi:type="function-expression">
<arguments>
<argument name="city" xsi:type="query-key-expression">
<base name="address" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</argument>
</arguments>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Toronto</value>
</right>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="firstName" xsi:type="query-key-expression">
<base name="manager" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">May</value>
</right>
</right>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="areaCode" xsi:type="query-key-expression">
<base name="phoneNumbers" any-of="true" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">416</value>
</right>
</right>
</right>
</left>
<right operator="and" xsi:type="logic-expression">
<left operator="and" xsi:type="logic-expression">
<left operator="equal" xsi:type="relation-expression">
<left function="upper" xsi:type="function-expression">
<arguments>
<argument name="province" xsi:type="query-key-expression">
<base name="address" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</argument>
</arguments>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">AB</value>
</right>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="firstName" xsi:type="query-key-expression">
<base name="manager" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">John</value>
</right>
</right>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="areaCode" xsi:type="query-key-expression">
<base name="phoneNumbers" any-of="true" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">519</value>
</right>
</right>
</right>
</left>
<right operator="and" xsi:type="logic-expression">
<left operator="and" xsi:type="logic-expression">
<left operator="equal" xsi:type="relation-expression">
<left function="upper" xsi:type="function-expression">
<arguments>
<argument name="city" xsi:type="query-key-expression">
<base name="address" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</argument>
</arguments>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Calgary</value>
</right>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="lastName" xsi:type="query-key-expression">
<base name="manager" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Hay</value>
</right>
</right>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="areaCode" xsi:type="query-key-expression">
<base name="phoneNumbers" any-of="true" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">416</value>
</right>
</right>
</right>
</left>
<right operator="and" xsi:type="logic-expression">
<left operator="and" xsi:type="logic-expression">
<left operator="equal" xsi:type="relation-expression">
<left function="upper" xsi:type="function-expression">
<arguments>
<argument name="province" xsi:type="query-key-expression">
<base name="address" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</argument>
</arguments>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">MB</value>
</right>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="firstName" xsi:type="query-key-expression">
<base name="manager" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">James</value>
</right>
</right>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="areaCode" xsi:type="query-key-expression">
<base name="phoneNumbers" any-of="true" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">204</value>
</right>
</right>
</right>
</left>
<right operator="and" xsi:type="logic-expression">
<left operator="and" xsi:type="logic-expression">
<left operator="equal" xsi:type="relation-expression">
<left function="upper" xsi:type="function-expression">
<arguments>
<argument name="province" xsi:type="query-key-expression">
<base name="address" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</argument>
</arguments>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">BC</value>
</right>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="firstName" xsi:type="query-key-expression">
<base name="manager" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Bob</value>
</right>
</right>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="areaCode" xsi:type="query-key-expression">
<base name="phoneNumbers" any-of="true" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">416</value>
</right>
</right>
</right>
</criteria>
<timeout>1</timeout>
<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>
</query>
<query name="refreshIdentityMapResultsQuery" xsi:type="read-object-query">
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
<refresh>true</refresh>
<remote-refresh>true</remote-refresh>
</query>
<query name="PersistenceTestEmptyStringAndNull" xsi:type="read-object-query">
<criteria operator="or" xsi:type="logic-expression">
<left operator="lessThan" xsi:type="relation-expression">
<left name="firstName" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</left>
<right xsi:type="constant-expression"/>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="firstName" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema"></value>
</right>
</right>
</criteria>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</query>
<query name="memoryQueryTriggerIndirectionQuery" xsi:type="read-all-query">
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
<in-memory-querying>
<policy>throw-indirection-exception</policy>
</in-memory-querying>
<container xsi:type="list-container-policy">
<collection-type>java.util.Vector</collection-type>
</container>
</query>
<query name="PersistenceTestAnyOfEqual" xsi:type="read-all-query">
<criteria operator="equal" xsi:type="relation-expression">
<left name="areaCode" xsi:type="query-key-expression">
<base name="phoneNumbers" any-of="true" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</base>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">613</value>
</right>
</criteria>
<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>
</query>
<query name="doNotUseDistinctQuery" xsi:type="read-all-query">
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
<distinct-state>dont-use-distinct</distinct-state>
<container xsi:type="list-container-policy">
<collection-type>java.util.Vector</collection-type>
</container>
</query>
<query name="PersistenceTestGetGreaterThan" xsi:type="read-object-query">
<criteria operator="greaterThan" xsi:type="relation-expression">
<left name="salary" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:int" xmlns:xsd="http://www.w3.org/2001/XMLSchema">0</value>
</right>
</criteria>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</query>
</queries>
<timeout>0</timeout>
</querying>
<attribute-mappings>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>firstName</attribute-name>
<field table="EMPLOYEE" name="F_NAME" xsi:type="column"/>
<null-value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema"></null-value>
</attribute-mapping>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>id</attribute-name>
<field table="EMPLOYEE" name="EMP_ID" xsi:type="column"/>
</attribute-mapping>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>lastName</attribute-name>
<field table="EMPLOYEE" name="L_NAME" xsi:type="column"/>
<null-value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema"></null-value>
</attribute-mapping>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>salary</attribute-name>
<field table="SALARY" name="SALARY" xsi:type="column"/>
</attribute-mapping>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>gender</attribute-name>
<field table="EMPLOYEE" name="GENDER" xsi:type="column"/>
<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="transformation-mapping">
<attribute-name>normalHours</attribute-name>
<attribute-method>buildNormalHours</attribute-method>
<field-transformations>
<field-transformation xsi:type="method-based-field-transformation">
<field table="EMPLOYEE" name="START_TIME" xsi:type="column"/>
<method>getStartTime</method>
</field-transformation>
<field-transformation xsi:type="method-based-field-transformation">
<field table="EMPLOYEE" name="END_TIME" xsi:type="column"/>
<method>getEndTime</method>
</field-transformation>
</field-transformations>
</attribute-mapping>
<attribute-mapping xsi:type="aggregate-object-mapping">
<attribute-name>period</attribute-name>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.EmploymentPeriod</reference-class>
<field-translations>
<field-translation>
<source-field name="endDate->DIRECT" xsi:type="column"/>
<target-field table="EMPLOYEE" name="END_DATE" xsi:type="column"/>
</field-translation>
<field-translation>
<source-field name="startDate->DIRECT" xsi:type="column"/>
<target-field table="EMPLOYEE" name="START_DATE" xsi:type="column"/>
</field-translation>
</field-translations>
</attribute-mapping>
<attribute-mapping xsi:type="direct-collection-mapping">
<attribute-name>responsibilitiesList</attribute-name>
<container xsi:type="list-container-policy">
<collection-type>java.util.Vector</collection-type>
</container>
<indirection xsi:type="value-holder-indirection-policy"/>
<selection-query xsi:type="direct-read-query">
<maintain-cache>false</maintain-cache>
<container xsi:type="list-container-policy">
<collection-type>java.util.Vector</collection-type>
</container>
</selection-query>
<reference-table>RESPONS</reference-table>
<direct-field table="RESPONS" name="DESCRIP" xsi:type="column"/>
<reference-foreign-key>
<field-reference>
<source-field table="RESPONS" name="EMP_ID" xsi:type="column"/>
<target-field table="EMPLOYEE" name="EMP_ID" xsi:type="column"/>
</field-reference>
</reference-foreign-key>
</attribute-mapping>
<attribute-mapping xsi:type="one-to-one-mapping">
<attribute-name>address</attribute-name>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Address</reference-class>
<private-owned>true</private-owned>
<foreign-key>
<field-reference>
<source-field table="EMPLOYEE" name="ADDR_ID" xsi:type="column"/>
<target-field table="ADDRESS" name="ADDRESS_ID" xsi:type="column"/>
</field-reference>
</foreign-key>
<foreign-key-fields>
<field table="EMPLOYEE" name="ADDR_ID" xsi:type="column"/>
</foreign-key-fields>
<indirection xsi:type="value-holder-indirection-policy"/>
<selection-query xsi:type="read-object-query">
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Address</reference-class>
</selection-query>
</attribute-mapping>
<attribute-mapping xsi:type="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 table="EMPLOYEE" name="MANAGER_ID" xsi:type="column"/>
<target-field table="EMPLOYEE" name="EMP_ID" xsi:type="column"/>
</field-reference>
</foreign-key>
<foreign-key-fields>
<field table="EMPLOYEE" name="MANAGER_ID" xsi:type="column"/>
</foreign-key-fields>
<indirection xsi:type="value-holder-indirection-policy"/>
<selection-query xsi:type="read-object-query">
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</selection-query>
</attribute-mapping>
<attribute-mapping xsi:type="one-to-many-mapping">
<attribute-name>managedEmployees</attribute-name>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
<target-foreign-key>
<field-reference>
<source-field table="EMPLOYEE" name="MANAGER_ID" xsi:type="column"/>
<target-field table="EMPLOYEE" name="EMP_ID" xsi:type="column"/>
</field-reference>
</target-foreign-key>
<container xsi:type="list-container-policy">
<collection-type>java.util.Vector</collection-type>
</container>
<indirection xsi:type="value-holder-indirection-policy"/>
<selection-query xsi:type="read-all-query">
<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>
</selection-query>
</attribute-mapping>
<attribute-mapping xsi:type="one-to-many-mapping">
<attribute-name>phoneNumbers</attribute-name>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.PhoneNumber</reference-class>
<private-owned>true</private-owned>
<target-foreign-key>
<field-reference>
<source-field table="PHONE" name="EMP_ID" xsi:type="column"/>
<target-field table="EMPLOYEE" name="EMP_ID" xsi:type="column"/>
</field-reference>
</target-foreign-key>
<container xsi:type="list-container-policy">
<collection-type>java.util.Vector</collection-type>
</container>
<indirection xsi:type="value-holder-indirection-policy"/>
<selection-query xsi:type="read-all-query">
<reference-class>org.eclipse.persistence.testing.models.employee.domain.PhoneNumber</reference-class>
<container xsi:type="list-container-policy">
<collection-type>java.util.Vector</collection-type>
</container>
</selection-query>
</attribute-mapping>
<attribute-mapping xsi:type="many-to-many-mapping">
<attribute-name>projects</attribute-name>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Project</reference-class>
<relation-table>PROJ_EMP</relation-table>
<source-relation-foreign-key>
<field-reference>
<source-field table="PROJ_EMP" name="EMP_ID" xsi:type="column"/>
<target-field table="EMPLOYEE" name="EMP_ID" xsi:type="column"/>
</field-reference>
</source-relation-foreign-key>
<target-relation-foreign-key>
<field-reference>
<source-field table="PROJ_EMP" name="PROJ_ID" xsi:type="column"/>
<target-field table="PROJECT" name="PROJ_ID" xsi:type="column"/>
</field-reference>
</target-relation-foreign-key>
<container xsi:type="list-container-policy">
<collection-type>java.util.Vector</collection-type>
</container>
<indirection xsi:type="value-holder-indirection-policy"/>
<selection-query xsi:type="read-all-query">
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Project</reference-class>
<container xsi:type="list-container-policy">
<collection-type>java.util.Vector</collection-type>
</container>
</selection-query>
<insert-query xsi:type="data-modify-query"/>
<delete-query xsi:type="data-modify-query"/>
<delete-all-query xsi:type="data-modify-query"/>
</attribute-mapping>
</attribute-mappings>
<descriptor-type>independent</descriptor-type>
<interfaces>
<interface>org.eclipse.persistence.testing.models.employee.interfaces.Employee</interface>
</interfaces>
<locking xsi:type="version-locking-policy">
<version-field table="EMPLOYEE" name="VERSION" xsi:type="column"/>
</locking>
<sequencing>
<sequence-name>EMP_SEQ</sequence-name>
<sequence-field table="EMPLOYEE" name="EMP_ID" xsi:type="column"/>
</sequencing>
<instantiation/>
<copying xsi:type="instantiation-copy-policy"/>
<tables>
<table name="EMPLOYEE"/>
<table name="SALARY"/>
</tables>
</class-mapping-descriptor>
<class-mapping-descriptor xsi:type="relational-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="direct-mapping">
<attribute-name>endDate</attribute-name>
<field name="endDate->DIRECT" xsi:type="column"/>
</attribute-mapping>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>startDate</attribute-name>
<field name="startDate->DIRECT" xsi:type="column"/>
</attribute-mapping>
</attribute-mappings>
<descriptor-type>aggregate</descriptor-type>
<instantiation/>
<copying xsi:type="instantiation-copy-policy"/>
</class-mapping-descriptor>
<class-mapping-descriptor xsi:type="relational-class-mapping-descriptor">
<class>org.eclipse.persistence.testing.models.employee.domain.LargeProject</class>
<alias>LargeProject</alias>
<inheritance xsi:type="inheritance-policy">
<parent-class>org.eclipse.persistence.testing.models.employee.domain.Project</parent-class>
<read-subclasses-on-queries>false</read-subclasses-on-queries>
</inheritance>
<events xsi:type="event-policy"/>
<querying xsi:type="query-policy">
<timeout>0</timeout>
</querying>
<attribute-mappings>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>budget</attribute-name>
<field table="LPROJECT" name="BUDGET" xsi:type="column"/>
</attribute-mapping>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>milestoneVersion</attribute-name>
<field table="LPROJECT" name="MILESTONE" xsi:type="column"/>
</attribute-mapping>
</attribute-mappings>
<descriptor-type>independent</descriptor-type>
<interfaces>
<interface>org.eclipse.persistence.testing.models.employee.interfaces.LargeProject</interface>
</interfaces>
<instantiation/>
<copying xsi:type="instantiation-copy-policy"/>
<tables>
<table name="LPROJECT"/>
</tables>
</class-mapping-descriptor>
<class-mapping-descriptor xsi:type="relational-class-mapping-descriptor">
<class>org.eclipse.persistence.testing.models.employee.domain.PhoneNumber</class>
<alias>PhoneNumber</alias>
<primary-key>
<field table="PHONE" name="EMP_ID" xsi:type="column"/>
<field table="PHONE" name="TYPE" xsi:type="column"/>
</primary-key>
<events xsi:type="event-policy"/>
<querying xsi:type="query-policy">
<queries>
<query name="localNumbers" xsi:type="read-object-query">
<criteria operator="and" xsi:type="logic-expression">
<left operator="equal" xsi:type="relation-expression">
<left name="id" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</left>
<right xsi:type="parameter-expression">
<parameter name="ID" xsi:type="column"/>
</right>
</left>
<right operator="equal" xsi:type="relation-expression">
<left name="areaCode" xsi:type="query-key-expression">
<base xsi:type="base-expression"/>
</left>
<right xsi:type="constant-expression">
<value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">613</value>
</right>
</right>
</criteria>
<arguments>
<argument name="ID">
<type>java.lang.Number</type>
</argument>
</arguments>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.PhoneNumber</reference-class>
<cache-usage>primary-key</cache-usage>
<lock-mode>none</lock-mode>
</query>
</queries>
<timeout>0</timeout>
</querying>
<attribute-mappings>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>areaCode</attribute-name>
<field table="PHONE" name="AREA_CODE" xsi:type="column"/>
</attribute-mapping>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>number</attribute-name>
<field table="PHONE" name="P_NUMBER" xsi:type="column"/>
</attribute-mapping>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>type</attribute-name>
<field table="PHONE" name="TYPE" xsi:type="column"/>
</attribute-mapping>
<attribute-mapping xsi:type="one-to-one-mapping">
<attribute-name>owner</attribute-name>
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
<foreign-key>
<field-reference>
<source-field table="PHONE" name="EMP_ID" xsi:type="column"/>
<target-field table="EMPLOYEE" name="EMP_ID" xsi:type="column"/>
</field-reference>
</foreign-key>
<foreign-key-fields>
<field table="PHONE" name="EMP_ID" xsi:type="column"/>
</foreign-key-fields>
<indirection xsi:type="value-holder-indirection-policy"/>
<selection-query xsi:type="read-object-query">
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</selection-query>
</attribute-mapping>
</attribute-mappings>
<descriptor-type>independent</descriptor-type>
<instantiation/>
<copying xsi:type="instantiation-copy-policy"/>
<query-keys>
<query-key name="id" xsi:type="direct-query-key">
<field table="PHONE" name="EMP_ID" xsi:type="column"/>
</query-key>
</query-keys>
<tables>
<table name="PHONE"/>
</tables>
</class-mapping-descriptor>
<class-mapping-descriptor xsi:type="relational-class-mapping-descriptor">
<class>org.eclipse.persistence.testing.models.employee.domain.Project</class>
<alias>Project</alias>
<primary-key>
<field table="PROJECT" name="PROJ_ID" xsi:type="column"/>
</primary-key>
<inheritance xsi:type="inheritance-policy">
<class-indicator-field table="PROJECT" name="PROJ_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">
<timeout>250</timeout>
</querying>
<attribute-mappings>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>description</attribute-name>
<field table="PROJECT" name="DESCRIP" xsi:type="column"/>
<null-value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema"></null-value>
</attribute-mapping>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>id</attribute-name>
<field table="PROJECT" name="PROJ_ID" xsi:type="column"/>
</attribute-mapping>
<attribute-mapping xsi:type="direct-mapping">
<attribute-name>name</attribute-name>
<field table="PROJECT" name="PROJ_NAME" xsi:type="column"/>
<null-value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema"></null-value>
</attribute-mapping>
<attribute-mapping xsi:type="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 table="PROJECT" name="LEADER_ID" xsi:type="column"/>
<target-field table="EMPLOYEE" name="EMP_ID" xsi:type="column"/>
</field-reference>
</foreign-key>
<foreign-key-fields>
<field table="PROJECT" name="LEADER_ID" xsi:type="column"/>
</foreign-key-fields>
<indirection xsi:type="value-holder-indirection-policy"/>
<selection-query xsi:type="read-object-query">
<reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
</selection-query>
</attribute-mapping>
</attribute-mappings>
<descriptor-type>independent</descriptor-type>
<interfaces>
<interface>org.eclipse.persistence.testing.models.employee.interfaces.Project</interface>
</interfaces>
<locking xsi:type="version-locking-policy">
<version-field table="PROJECT" name="VERSION" xsi:type="column"/>
</locking>
<sequencing>
<sequence-name>PROJ_SEQ</sequence-name>
<sequence-field table="PROJECT" name="PROJ_ID" xsi:type="column"/>
</sequencing>
<caching>
<cache-invalidation-policy xsi:type="no-expiry-cache-invalidation-policy"/>
<cache-sync-type>change-set-with-new-objects</cache-sync-type>
</caching>
<instantiation/>
<copying xsi:type="instantiation-copy-policy"/>
<tables>
<table name="PROJECT"/>
</tables>
</class-mapping-descriptor>
<class-mapping-descriptor xsi:type="relational-class-mapping-descriptor">
<class>org.eclipse.persistence.testing.models.employee.domain.SmallProject</class>
<alias>SmallProject</alias>
<inheritance xsi:type="inheritance-policy">
<parent-class>org.eclipse.persistence.testing.models.employee.domain.Project</parent-class>
<read-subclasses-on-queries>false</read-subclasses-on-queries>
</inheritance>
<events xsi:type="event-policy"/>
<querying xsi:type="query-policy">
<timeout>0</timeout>
</querying>
<descriptor-type>independent</descriptor-type>
<interfaces>
<interface>org.eclipse.persistence.testing.models.employee.interfaces.SmallProject</interface>
</interfaces>
<instantiation/>
<copying xsi:type="instantiation-copy-policy"/>
<tables>
<table name="PROJECT"/>
</tables>
</class-mapping-descriptor>
</class-mapping-descriptors>
<login xsi:type="database-login">
<platform-class>@dbPlatform@</platform-class>
<user-name>@dbUser@</user-name>
<password>@dbPassword@</password>
<driver-class>@driverClass@</driver-class>
<connection-url>@dbURL@</connection-url>
</login>
</object-persistence>