| <?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="1.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>Inheritance Test Model Instance Document. |
| This mapping file is packaged as orm.xml in |
| a referenced jar file. See build.xml for more details. |
| </description> |
| <package>org.eclipse.persistence.testing.models.jpa.xml.inheritance</package> |
| <table-generator name="XML_VEHICLE_TABLE_GENERATOR" table="CMP3_XML_INHERITANCE_SEQ" pk-column-name="SEQ_NAME" value-column-name="SEQ_COUNT" pk-column-value="VEHICLE_SEQ"/> |
| <table-generator name="XML_COMPANY_TABLE_GENERATOR" table="CMP3_XML_INHERITANCE_SEQ" pk-column-name="SEQ_NAME" value-column-name="SEQ_COUNT" pk-column-value="COMPANY_SEQ"/> |
| <table-generator name="XML_PERSON_TABLE_GENERATOR" table="CMP3_XML_INHERITANCE_SEQ" pk-column-name="SEQ_NAME" value-column-name="SEQ_COUNT" pk-column-value="PERSON_SEQ"/> |
| <table-generator name="XML_TIRE_TABLE_GENERATOR" table="CMP3_XML_INHERITANCE_SEQ" pk-column-name="SEQ_NAME" value-column-name="SEQ_COUNT" pk-column-value="TIRE_SEQ"/> |
| <named-native-query name="findSQLMaxSpeedForFerrari" result-set-mapping="maxSpeedResults"> |
| <query>SELECT t0.MAX_SPEED AS FERRARI_SPEED FROM CMP3_XML_SPORTS_CAR t0, CMP3_XML_FUEL_VEH t1 WHERE t1.DESCRIP='Ferrari'</query> |
| </named-native-query> |
| <sql-result-set-mapping name="maxSpeedResults"> |
| <column-result name="FERRARI_SPEED"/> |
| </sql-result-set-mapping> |
| <entity name="XMLVehicle" class="Vehicle" access="PROPERTY"> |
| <table name="CMP3_XML_VEHICLE"/> |
| <inheritance strategy="JOINED"/> |
| <discriminator-value>V</discriminator-value> |
| <discriminator-column name="VEH_TYPE"/> |
| <exclude-default-listeners/> |
| <exclude-superclass-listeners/> |
| <entity-listeners> |
| <entity-listener class="org.eclipse.persistence.testing.models.jpa.xml.inheritance.listeners.VehicleListener"> |
| <post-load method-name="postLoad"/> |
| </entity-listener> |
| </entity-listeners> |
| <attributes> |
| <id name="id"> |
| <column name="ID"/> |
| <generated-value strategy="TABLE" generator="XML_VEHICLE_TABLE_GENERATOR"/> |
| </id> |
| <basic name="passengerCapacity"> |
| <column name="CAPACITY"/> |
| </basic> |
| <many-to-one name="owner" target-entity="Company" fetch="LAZY"> |
| <join-column name="OWNER_ID" referenced-column-name="ID"/> |
| <cascade> |
| <cascade-persist/> |
| </cascade> |
| </many-to-one> |
| </attributes> |
| </entity> |
| <entity name="XMLCompany" class="Company" access="PROPERTY" metadata-complete="false"> |
| <table name="CMP3_XML_COMPANY"/> |
| <exclude-default-listeners/> |
| <exclude-superclass-listeners/> |
| <attributes> |
| <id name="id"> |
| <column name="ID"/> |
| <generated-value strategy="TABLE" generator="XML_COMPANY_TABLE_GENERATOR"/> |
| </id> |
| <basic name="name"> |
| <column name="NAME"/> |
| </basic> |
| <one-to-many name="vehicles" target-entity="Vehicle" mapped-by="owner"> |
| <cascade> |
| <cascade-all/> |
| </cascade> |
| </one-to-many> |
| </attributes> |
| </entity> |
| <!--entity name="XMLFueledVehicle" class="FueledVehicle" access="PROPERTY"> |
| <table name="CMP3_XML_FUEL_VEH"/> |
| <discriminator-value>F</discriminator-value> |
| <exclude-default-listeners/> |
| <exclude-superclass-listeners/> |
| <entity-listeners> |
| <entity-listener class="org.eclipse.persistence.testing.models.jpa.xml.inheritance.listeners.FueledVehicleListener"> |
| <post-persist method-name="postPersist"/> |
| </entity-listener> |
| </entity-listeners> |
| <attributes> |
| <basic name="description"> |
| <column name="DESCRIP"/> |
| </basic> |
| <basic name="fuelCapacity"> |
| <column name="FUEL_CAP"/> |
| </basic> |
| <basic name="fuelType"> |
| <column name="FUEL_TYP"/> |
| </basic> |
| </attributes> |
| </entity--> |
| <entity name="XMLNonFueledVehicle" class="NonFueledVehicle" access="PROPERTY"> |
| <table name="CMP3_XML_VEHICLE"/> |
| <discriminator-value>NF</discriminator-value> |
| <exclude-default-listeners/> |
| <exclude-superclass-listeners/> |
| </entity> |
| <entity name="XMLBoat" class="Boat" access="PROPERTY"> |
| <table name="CMP3_XML_BOAT"/> |
| <primary-key-join-column name="BOAT_ID" referenced-column-name="ID"/> |
| <discriminator-value>BO</discriminator-value> |
| <exclude-default-listeners/> |
| <exclude-superclass-listeners/> |
| <attributes> |
| <basic name="model"> |
| <column name="MODEL"/> |
| </basic> |
| </attributes> |
| </entity> |
| <entity name="XMLCar" class="Car" access="PROPERTY"> |
| <table name="CMP3_XML_FUEL_VEH"/> |
| <discriminator-value>C</discriminator-value> |
| <exclude-default-listeners/> |
| <exclude-superclass-listeners/> |
| </entity> |
| <entity name="XMLSportsCar" class="SportsCar" access="PROPERTY"> |
| <table name="CMP3_XML_SPORTS_CAR"/> |
| <discriminator-value>SC</discriminator-value> |
| <exclude-default-listeners/> |
| <exclude-superclass-listeners/> |
| <entity-listeners> |
| <entity-listener class="org.eclipse.persistence.testing.models.jpa.xml.inheritance.listeners.SportsCarListener"> |
| <pre-remove method-name="preRemove"/> |
| <post-remove method-name="postRemove"/> |
| <pre-update method-name="preUpdate"/> |
| <post-update method-name="postUpdate"/> |
| </entity-listener> |
| </entity-listeners> |
| <attributes> |
| <basic name="maxSpeed"> |
| <column name="MAX_SPEED"/> |
| </basic> |
| </attributes> |
| </entity> |
| <entity name="XMLBicycle" class="Bicycle" access="PROPERTY"> |
| <table name="CMP3_XML_BICYCLE"/> |
| <discriminator-value>BI</discriminator-value> |
| <exclude-default-listeners/> |
| <exclude-superclass-listeners/> |
| <attributes> |
| <basic name="description"> |
| <column name="DESCRIP"/> |
| </basic> |
| </attributes> |
| </entity> |
| <entity name="XMLBus" class="Bus" access="PROPERTY"> |
| <table name="CMP3_XML_BUS"/> |
| <primary-key-join-column name="BUS_ID" referenced-column-name="ID"/> |
| <discriminator-value>BU</discriminator-value> |
| <!--<exclude-default-listeners/>--> |
| <exclude-superclass-listeners/> |
| <entity-listeners> |
| <entity-listener class="org.eclipse.persistence.testing.models.jpa.xml.inheritance.listeners.BusListener2"> |
| <pre-persist method-name="prePersist"/> |
| <post-persist method-name="postPersist"/> |
| </entity-listener> |
| <entity-listener class="org.eclipse.persistence.testing.models.jpa.xml.inheritance.listeners.BusListener3"> |
| <pre-persist method-name="prePersist"/> |
| <post-persist method-name="postPersist"/> |
| </entity-listener> |
| <entity-listener class="org.eclipse.persistence.testing.models.jpa.xml.inheritance.listeners.BusListener"> |
| <pre-persist method-name="prePersist"/> |
| <post-persist method-name="postPersist"/> |
| <pre-remove method-name="preRemove"/> |
| <post-remove method-name="postRemove"/> |
| <pre-update method-name="preUpdate"/> |
| <post-update method-name="postUpdate"/> |
| </entity-listener> |
| <entity-listener class="org.eclipse.persistence.testing.models.jpa.xml.inheritance.listeners.BusNativeListener"/> |
| </entity-listeners> |
| <pre-persist method-name="prePersist"/> |
| <post-persist method-name="postPersist"/> |
| <pre-remove method-name="preRemove"/> |
| <post-remove method-name="postRemove"/> |
| <pre-update method-name="preUpdate"/> |
| <post-update method-name="postUpdate"/> |
| <post-load method-name="postLoad"/> |
| <attributes> |
| <one-to-one name="busDriver" fetch="LAZY"> |
| <join-column name="DRIVER_ID" referenced-column-name="ID"/> |
| <cascade> |
| <cascade-persist/> |
| </cascade> |
| </one-to-one> |
| </attributes> |
| </entity> |
| <entity name="XMLEngineer" class="Engineer" access="PROPERTY"> |
| <table name="CMP3_XML_ENGINEER"/> |
| <discriminator-value>E</discriminator-value> |
| <exclude-default-listeners/> |
| <exclude-superclass-listeners/> |
| <attributes> |
| <basic name="title"> |
| <column name="TITLE"/> |
| </basic> |
| </attributes> |
| </entity> |
| <entity name="XMLImaginaryCar" class="ImaginaryCar" access="PROPERTY"> |
| <table name="CMP3_XML_FUEL_VEH"/> |
| <discriminator-value>IC</discriminator-value> |
| <exclude-default-listeners/> |
| <exclude-superclass-listeners/> |
| </entity> |
| <entity name="XMLLawyer" class="Lawyer" access="PROPERTY"> |
| <table name="CMP3_XML_PERSON"/> |
| <discriminator-value>L</discriminator-value> |
| <exclude-default-listeners/> |
| <exclude-superclass-listeners/> |
| </entity> |
| <entity name="XMLPerformanceTireInfo" class="PerformanceTireInfo" access="PROPERTY"> |
| <table name="CMP3_XML_TIRE"/> |
| <discriminator-value>Performance</discriminator-value> |
| <exclude-default-listeners/> |
| <exclude-superclass-listeners/> |
| <attributes> |
| <basic name="speedRating"> |
| <column name="SPEEDRATING"/> |
| </basic> |
| </attributes> |
| </entity> |
| <entity name="XMLPerson" class="Person" access="PROPERTY"> |
| <table name="CMP3_XML_PERSON"/> |
| <inheritance strategy="JOINED"/> |
| <discriminator-value>P</discriminator-value> |
| <exclude-default-listeners/> |
| <exclude-superclass-listeners/> |
| <attributes> |
| <id name="id"> |
| <column name="ID"/> |
| <generated-value strategy="TABLE" generator="XML_PERSON_TABLE_GENERATOR"/> |
| </id> |
| <basic name="name"> |
| <column name="NAME" length="80"/> |
| </basic> |
| <many-to-one name="car" target-entity="Car" fetch="LAZY" optional="false"> |
| <join-column name="CAR_ID"/> |
| <cascade> |
| <cascade-persist/> |
| </cascade> |
| </many-to-one> |
| <many-to-one name="boat" target-entity="Boat" fetch="LAZY" optional="false"> |
| <join-column name="BOAT_ID" referenced-column-name="BOAT_ID"/> |
| <cascade> |
| <cascade-persist/> |
| </cascade> |
| </many-to-one> |
| <many-to-one name="bestFriend" target-entity="Engineer" fetch="LAZY" optional="false"> |
| <join-column name="FRIEND_ID"/> |
| <cascade> |
| <cascade-persist/> |
| </cascade> |
| </many-to-one> |
| <many-to-one name="representitive" target-entity="Lawyer" fetch="LAZY" optional="false"> |
| <join-column name="REP_ID" referenced-column-name="ID"/> |
| <cascade> |
| <cascade-persist/> |
| </cascade> |
| </many-to-one> |
| </attributes> |
| </entity> |
| <entity name="XMLTireInfo" class="TireInfo" access="PROPERTY"> |
| <table name="CMP3_XML_TIRE"/> |
| <inheritance strategy="SINGLE_TABLE"/> |
| <discriminator-value>Normal</discriminator-value> |
| <discriminator-column name="TIRE_TYPE"/> |
| <exclude-default-listeners/> |
| <exclude-superclass-listeners/> |
| <attributes> |
| <id name="id"> |
| <column name="ID"/> |
| <generated-value strategy="TABLE" generator="XML_TIRE_TABLE_GENERATOR"/> |
| </id> |
| <basic name="pressure"> |
| <column name="PRESSURE"/> |
| </basic> |
| </attributes> |
| </entity> |
| </entity-mappings> |