<?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_2_0.xsd">
    <description>XML composite advanced member_3 Test Model Instance Document</description>
    <entity name="XMLPhoneNumber" class="org.eclipse.persistence.testing.models.jpa.xml.composite.advanced.member_3.PhoneNumber" access="PROPERTY">
        <table name="XML_MBR3_PHONENUMBER"/>
        <id-class class="org.eclipse.persistence.testing.models.jpa.xml.composite.advanced.member_3.PhoneNumberPK"/>
        <exclude-default-listeners/>
        <exclude-superclass-listeners/>
        <attributes>
            <id name="id">
                <column name="OWNER_ID" insertable="false" updatable="false"/>
            </id>
            <id name="type">
                <column name="TYPE"/>
            </id>
            <basic name="number">
                <column name="NUMB"/>
            </basic>
            <basic name="areaCode">
                <column name="AREA_CODE"/>
            </basic>
            <many-to-one name="owner" target-entity="org.eclipse.persistence.testing.models.jpa.xml.composite.advanced.member_2.Employee" access="FIELD">
                <join-column name="OWNER_ID" referenced-column-name="EMP_ID"/>
            </many-to-one>
        </attributes>
    </entity>
    <entity name="XMLLargeProject" class="org.eclipse.persistence.testing.models.jpa.xml.composite.advanced.member_3.LargeProject" access="PROPERTY">
        <table name="XML_MBR3_LPROJECT"/>
        <discriminator-value>L</discriminator-value>
        <named-query name="findXMLLargeProjectsWithBudgetLargerThan">
            <query>SELECT OBJECT(project) FROM XMLLargeProject project WHERE project.budget >= :amount</query>
        </named-query>
        <exclude-default-listeners/>
        <exclude-superclass-listeners/>
    </entity>
    <entity name="XMLSmallProject" class="org.eclipse.persistence.testing.models.jpa.xml.composite.advanced.member_3.SmallProject" access="PROPERTY">
        <table name="XML_MBR3_PROJECT"/>
        <discriminator-value>S</discriminator-value>
        <exclude-default-listeners/>
        <exclude-superclass-listeners/>
    </entity>
    <entity name="XMLProject" class="org.eclipse.persistence.testing.models.jpa.xml.composite.advanced.member_3.Project" access="FIELD">
        <table name="XML_MBR3_PROJECT"/>
        <inheritance strategy="JOINED"/>
        <discriminator-value>P</discriminator-value>
        <discriminator-column name="PROJ_TYPE"/>
        <sequence-generator name="XML_MBR3_PROJECT_SEQUENCE_GENERATOR" sequence-name="XML_MBR3_PROJECT_SEQ" allocation-size="10"/>
        <named-query name="findXMLProjectByName">
            <query>SELECT OBJECT(project) FROM XMLProject project WHERE project.name = :name</query>
        </named-query>
        <exclude-default-listeners/>
        <exclude-superclass-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>
            <id name="id">
                <column name="PROJ_ID"/>
                <generated-value strategy="SEQUENCE" generator="XML_MBR3_PROJECT_SEQUENCE_GENERATOR"/>
            </id>
            <basic name="name">
                <column name="PROJ_NAME"/>
            </basic>
            <basic name="description">
                <column name="DESCRIP"/>
            </basic>
            <version name="version">
                <column name="VERSION"/>
            </version>
            <one-to-one name="teamLeader" target-entity="org.eclipse.persistence.testing.models.jpa.xml.composite.advanced.member_2.Employee" access="PROPERTY">
                <join-column name="LEADER_ID"/>
            </one-to-one>
            <many-to-many name="teamMembers" target-entity="org.eclipse.persistence.testing.models.jpa.xml.composite.advanced.member_2.Employee" mapped-by="projects" access="PROPERTY"/>
            <transient name="pre_update_count"></transient>
            <transient name="post_update_count"></transient>
            <transient name="pre_remove_count"></transient>
            <transient name="post_remove_count"></transient>
            <transient name="pre_persist_count"></transient>
            <transient name="post_persist_count"></transient>
            <transient name="post_load_count"></transient>
        </attributes>
    </entity>
    <entity name="XMLDealer" class="org.eclipse.persistence.testing.models.jpa.xml.composite.advanced.member_3.Dealer" access="PROPERTY">
      <table name="XML_MBR3_DEALER"/>
        <table-generator name="XML_MBR3_DEALER_TABLE_GENERATOR" table="XML_MBR3_SEQ" pk-column-name="SEQ_NAME" value-column-name="SEQ_COUNT" pk-column-value="DEALER_SEQ"/>
        <exclude-default-listeners/>
        <exclude-superclass-listeners/>
        <attributes>
            <id name="id">
                <column name="DEALER_ID"/>
                <generated-value strategy="TABLE" generator="XML_MBR3_DEALER_TABLE_GENERATOR"/>
            </id>
            <basic name="firstName">
                <column name="F_NAME"/>
            </basic>
            <basic name="lastName">
                <column name="L_NAME"/>
            </basic>
            <basic name="status"/>
            <version name="version">
                <column name="VERSION"/>
            </version>
            <one-to-many name="customers" target-entity="org.eclipse.persistence.testing.models.jpa.xml.composite.advanced.member_1.Customer">
                <join-column name="FK_DEALER_ID"/>
                <cascade>
                    <cascade-persist/>
                    <cascade-merge/>
                </cascade>
            </one-to-many>
        </attributes>
    </entity>
</entity-mappings>
