| <?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.0" xmlns="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"> |
| <description>Relationships Test Model Instance Document</description> |
| <persistence-unit-metadata> |
| <persistence-unit-defaults> |
| <access>PROPERTY</access> |
| </persistence-unit-defaults> |
| </persistence-unit-metadata> |
| <package>org.eclipse.persistence.testing.models.jpa.xml.relationships</package> |
| <access>PROPERTY</access> |
| <named-query name="findAllXMLCustomers"> |
| <query>SELECT OBJECT(thecust) FROM XMLCustomer thecust</query> |
| <hint name="refresh" value="true"/> |
| </named-query> |
| <named-query name="findAllXMLOrdersByItem"> |
| <query>SELECT OBJECT(theorder) FROM XMLOrderBean theorder WHERE theorder.item.itemId = :id</query> |
| </named-query> |
| <named-query name="findAllXMLItemsByName"> |
| <query>SELECT OBJECT(item) FROM XMLItem item WHERE item.name = ?1</query> |
| </named-query> |
| <mapped-superclass class="Human"> |
| <attributes> |
| <transient name="new"/> |
| </attributes> |
| </mapped-superclass> |
| <entity name="XMLCustomer" class="Customer"> |
| <table name="XML_CUSTOMER"/> |
| <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"/> |
| <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> |
| </one-to-many> |
| </attributes> |
| </entity> |
| <entity name="XMLOrderBean" class="Order" metadata-complete="false"> |
| <table name="XML_ORDER"/> |
| <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> |
| <many-to-one name="auditor" target-entity="Auditor"> |
| <join-table name="XML_ORDER_AUDITOR"> |
| <join-column name="ORDER_ID"/> |
| <inverse-join-column name="AUDITOR_ID"/> |
| </join-table> |
| </many-to-one> |
| <one-to-one name="orderLabel"> |
| <join-table name="XML_ORDER_ORDER_LABEL"> |
| <join-column name="ORDER_ID"/> |
| <inverse-join-column name="ORDER_LABEL_ID"/> |
| </join-table> |
| <cascade> |
| <cascade-persist/> |
| </cascade> |
| </one-to-one> |
| <one-to-one name="orderCard" mapped-by="order"> |
| <cascade> |
| <cascade-persist/> |
| </cascade> |
| </one-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="XMLOrderCard" class="OrderCard"> |
| <table name="XML_ORDER_CARD"/> |
| <table-generator name="XML_ORDER_CARD_TABLE_GENERATOR" table="XML_CUSTOMER_SEQ" pk-column-name="SEQ_NAME" value-column-name="SEQ_COUNT" pk-column-value="ORDER_CARD_SEQ"/> |
| <attributes> |
| <id name="id"> |
| <generated-value strategy="TABLE" generator="XML_ORDER_CARD_TABLE_GENERATOR"/> |
| </id> |
| <one-to-one name="order"> |
| <!-- use the defaults for the join table --> |
| <join-table/> |
| </one-to-one> |
| </attributes> |
| </entity> |
| <entity name="XMLOrderLabel" class="OrderLabel"> |
| <table name="XML_ORDER_LABEL"/> |
| <table-generator name="XML_ORDER_LABEL_TABLE_GENERATOR" table="XML_CUSTOMER_SEQ" pk-column-name="SEQ_NAME" value-column-name="SEQ_COUNT" pk-column-value="ORDER_LABEL_SEQ"/> |
| <attributes> |
| <id name="orderLabelId"> |
| <column name="ID"/> |
| <generated-value strategy="TABLE" generator="XML_ORDER_LABEL_TABLE_GENERATOR"/> |
| </id> |
| <basic name="description"> |
| <column name="DESCRIP"/> |
| </basic> |
| </attributes> |
| </entity> |
| <entity name="XMLAuditor" class="Auditor"> |
| <table name="XML_AUDITOR"/> |
| <table-generator name="XML_AUDITOR_TABLE_GENERATOR" table="XML_CUSTOMER_SEQ" pk-column-name="SEQ_NAME" value-column-name="SEQ_COUNT" pk-column-value="AUDITOR_SEQ"/> |
| <attributes> |
| <id name="id"> |
| <generated-value strategy="TABLE" generator="XML_AUDITOR_TABLE_GENERATOR"/> |
| </id> |
| <one-to-many name="orders" mapped-by="auditor" target-entity="Order"/> |
| </attributes> |
| </entity> |
| <entity name="XMLItem" class="Item" metadata-complete="false"> |
| <table name="XML_ITEM"/> |
| <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> |
| </attributes> |
| </entity> |
| </entity-mappings> |