blob: 5bb0c75faa1c645a7a9a291cda81cda3fdf49bc7 [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="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>