<?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>XML metadata complete model instance document.</description>
    <package>org.eclipse.persistence.testing.models.jpa.xml.metadatacomplete</package>

    <!-- This model is used to test the metadata complete feature from the   -->
    <!-- spec, namely the metadata-complete attribute from <entity>,         -->
    <!-- <mapped-superclass> and <embeddable> elements outside of a gloabal  -->
    <!-- xml-mapping-metadata-complete setting. The persistence classes in   -->
    <!-- the pu are not persisted to the database and this model serves to   -->
    <!-- test the metadata processing of this flag only. Descriptors will    -->
    <!-- have their mappings verified in the test suite:                     -->
    <!-- EntityMappingsMetadataCompleteJUnitTestCase                         -->

    <persistence-unit-metadata>
        <persistence-unit-defaults>
            <access>FIELD</access>
        </persistence-unit-defaults>
    </persistence-unit-metadata>

    <!-- The metadata-complete flag here should apply only to this class     -->
    <mapped-superclass class="Tool" metadata-complete="true">
        <attributes>
            <id name="id">
                <column name="ID"/>
                <generated-value/>
            </id>

            <!-- Should ignore the @Column for 'brand' but should map it using defaults -->
        </attributes>
    </mapped-superclass>

    <!-- The metadata-complete flag here should apply only to this class     -->
    <mapped-superclass class="Material" metadata-complete="false">
        <attributes>
            <id name="id">
                <column name="ID"/>
                <generated-value/>
            </id>

            <!-- Should not ignore the @Column for 'cost' -->
        </attributes>
    </mapped-superclass>

    <!-- The metadata-complete flag here should apply only to this class     -->
    <entity name="XMLHammer" class="Hammer" metadata-complete="true">
        <!-- The table should default and we should not pick up the @Table -->
        <attributes>
            <basic name="weight">
                <column name="WEIGHT"/>
            </basic>

            <!-- Should ignore the @Column for 'color' but should map it using defaults -->
        </attributes>
    </entity>

    <!-- The metadata-complete flag here should apply only to this class     -->
    <entity name="XMLScrewdriver" class="Screwdriver">
        <table name="XML_SCREWDRIVER"/>
        <attributes>
            <basic name="type">
                <column name="S_TYPE"/>
            </basic>

            <!-- Should ignore the @Column for 'style' but should map it using defaults -->
        </attributes>
    </entity>

    <!-- The metadata-complete flag here should apply only to this class     -->
    <entity name="XMLDrywall" class="Drywall" metadata-complete="true">
        <table name="XML_DRYWALL"/>

        <!-- Should ignore the @Column for 'length' and 'width' but should map them using defaults -->
    </entity>

</entity-mappings>

