<?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.3" xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <description>Extension test</description>

    <package>org.eclipse.persistence.testing.models.jpa.extensibility</package>

    <entity name="ExtensibilityAddress" class="Address">
        <attributes>
            <basic name="pobox" access="VIRTUAL" attribute-type="java.lang.String">
                <column name="FLEX1"/>
                <access-methods get-method="get" set-method="set"/>
            </basic>
        </attributes>
    </entity>

    <entity name="ExtensibilityEmployee" class="Employee">
        <attributes>
            <one-to-many name="phoneNumbers" target-entity="PhoneNumber" access="VIRTUAL" attribute-type="java.util.List">
                <join-table name="EXTENS_JOIN_TABLE">
                    <join-column name="ID1" referenced-column-name="ID"/>
                    <inverse-join-column name="ID2" referenced-column-name="ID"/>
                </join-table>
                <access-methods get-method="getExt" set-method="putExt"/>
            </one-to-many>
        </attributes>
    </entity>
</entity-mappings>
