blob: ba7be35cabc5607e5b8c49c7b4a459277d562d13 [file] [log] [blame]
<?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
-->
<entity-mappings version="2.3" xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<description>Relationships Test Model Instance Document</description>
<persistence-unit-metadata>
<exclude-default-mappings/>
<persistence-unit-defaults>
<entity-listeners>
<entity-listener class="org.eclipse.persistence.testing.models.jpa.xml.inheritance.listeners.DefaultListener1"/>
</entity-listeners>
</persistence-unit-defaults>
</persistence-unit-metadata>
<package>org.eclipse.persistence.testing.models.jpa.xml.relationships</package>
<access>PROPERTY</access>
<table-generator name="DISTRIBUTOR_GENERATOR_TABLE" table="XML_DISTRIBUTOR_SEQ" pk-column-name="SEQ_NAME" value-column-name="SEQ_COUNT" pk-column-value="DTR_SEQ"/>
<named-query name="findAllXMLOrdersByItem">
<query>SELECT OBJECT(theorder) FROM XMLExtendedOrder theorder WHERE theorder.item.itemId = :id</query>
</named-query>
<named-query name="findAllXMLItemsByName">
<query>SELECT OBJECT(item) FROM XMLExtendedItem item WHERE item.name = ?1</query>
</named-query>
<mapped-superclass class="Human">
<table-generator name="CUSTOMER_GENERATOR_TABLE" table="XML_CUSTOMER_SEQ" pk-column-name="SEQ_NAME" value-column-name="SEQ_COUNT" pk-column-value="CUST_SEQ"/>
<named-query name="findAllXMLCustomers">
<query>SELECT OBJECT(thecust) FROM XMLExtendedCustomer thecust</query>
<hint name="refresh" value="true"/>
</named-query>
<named-native-query name="findAllSQLXMLCustomers">
<query>select * from XML_CUSTOMER</query>
</named-native-query>
<attributes>
<transient name="new"/>
</attributes>
</mapped-superclass>
<mapped-superclass class="Company">
<attributes>
<basic name="name"/>
<one-to-one name="ceo">
<join-column name="CEO_ID"/>
<cascade>
<cascade-persist/>
</cascade>
</one-to-one>
</attributes>
</mapped-superclass>
<mapped-superclass class="DistributingCompany">
<association-override name="ceo">
<join-column name="CHIEF_ID"/>
</association-override>
<attributes>
<id name="distributorId">
<generated-value strategy="TABLE" generator="DISTRIBUTOR_GENERATOR_TABLE"/>
</id>
</attributes>
</mapped-superclass>
<mapped-superclass class="ManufacturingCompany">
<sequence-generator name="MANUFACTURER_SEQ_GEN"/>
<attribute-override name="name">
<column name="COMPANY_NAME"/>
</attribute-override>
<attributes>
<id name="id">
<generated-value strategy="SEQUENCE" generator="MANUFACTURER_SEQ_GEN"/>
</id>
</attributes>
</mapped-superclass>
<entity name="XMLExtendedCustomer" class="Customer">
<table name="XML_CUSTOMER"/>
<exclude-default-listeners/>
<exclude-superclass-listeners/>
<attributes>
<id name="customerId">
<column name="CUST_ID"/>
<generated-value strategy="TABLE" generator="CUSTOMER_GENERATOR_TABLE"/>
</id>
<basic name="city">
<column name="CITY"/>
</basic>
<basic name="name">
<column name="NAME"/>
</basic>
<version name="version">
<column name="CUST_VERSION"/>
</version>
<one-to-many name="orders" target-entity="Order" mapped-by="customer">
<cascade>
<cascade-all/>
</cascade>
<batch-fetch type="EXISTS"/>
</one-to-many>
</attributes>
</entity>
<entity name="XMLExtendedOrder" class="Order" metadata-complete="false">
<table name="XML_ORDER"/>
<copy-policy class="org.eclipse.persistence.testing.models.jpa.xml.relationships.TestInstantiationCopyPolicy"/>
<table-generator name="ORDER_TABLE_GENERATOR" table="XML_CUSTOMER_SEQ" pk-column-name="SEQ_NAME" value-column-name="SEQ_COUNT" pk-column-value="ORDER_SEQ"/>
<exclude-default-listeners/>
<exclude-superclass-listeners/>
<attributes>
<id name="orderId">
<column name="ORDER_ID"/>
<generated-value strategy="TABLE" generator="ORDER_TABLE_GENERATOR"/>
</id>
<basic name="quantity"/>
<basic name="shippingAddress">
<column name="SHIP_ADDR"/>
</basic>
<version name="version">
<column name="ORDER_VERSION"/>
</version>
<many-to-one name="customer" target-entity="Customer" fetch="LAZY">
<join-column name="CUST_ID"/>
</many-to-one>
<one-to-one name="item" fetch="LAZY">
<!--primary-key-join-column name="ITEM_ID" referenced-column-name="ITEM_ID"/-->
<join-column name="ITEM_ID" referenced-column-name="ITEM_ID"/>
<cascade>
<cascade-persist/>
<cascade-refresh/>
</cascade>
</one-to-one>
</attributes>
</entity>
<entity name="XMLExtendedItem" class="Item" metadata-complete="false">
<table name="XML_ITEM"/>
<instantiation-copy-policy/>
<table-generator name="ITEM_TABLE_GENERATOR" table="XML_CUSTOMER_SEQ" pk-column-name="SEQ_NAME" value-column-name="SEQ_COUNT" pk-column-value="ITEM_SEQ"/>
<exclude-default-listeners/>
<exclude-superclass-listeners/>
<attributes>
<id name="itemId">
<column name="ITEM_ID"/>
<generated-value strategy="TABLE" generator="ITEM_TABLE_GENERATOR"/>
</id>
<basic name="name"/>
<basic name="description"/>
<basic name="image">
<column name="IMAGE" length="1280"/>
<lob/>
</basic>
<version name="version">
<column name="ITEM_VERSION"/>
</version>
<variable-one-to-one name="manufacturer"/>
<variable-one-to-one name="distributor" target-interface="Distributor" fetch="LAZY">
<cascade>
<cascade-persist/>
</cascade>
<discriminator-column name="DISTRIBUTOR_TYPE" discriminator-type="INTEGER"/>
<discriminator-class discriminator="1" value="MegaBrands"/>
<discriminator-class discriminator="2" value="Namco"/>
<join-column name="DISTRIBUTOR_ID" referenced-column-name="distributorId"/>
</variable-one-to-one>
</attributes>
</entity>
<entity name="XMLLego" class="Lego" exclude-default-mappings="false">
<table name="XML_LEGO"/>
</entity>
<entity name="XMLMattel" class="Mattel">
<table name="XML_MATTEL"/>
</entity>
<entity name="XMLMegaBrands" class="MegaBrands">
<table name="XML_MEGABRANDS"/>
</entity>
<entity name="XMLNamco" class="Namco">
<table name="XML_NAMCO"/>
<clone-copy-policy method="cloneNamco" working-copy-method="cloneWorkingCopyNamco"/>
</entity>
<entity name="XMLCEO" class="CEO">
<table name="XML_CEO"/>
<attributes>
<id name="id">
<generated-value strategy="TABLE"/>
</id>
<basic name="name"/>
</attributes>
</entity>
</entity-mappings>