<?xml version="1.0" encoding="UTF-8"?> | |
<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> |