<?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_1 Test Model Instance Document</description>
    <entity name="XMLAddress" class="org.eclipse.persistence.testing.models.jpa.xml.composite.advanced.member_1.Address" access="PROPERTY">
        <table name="XML_MBR1_ADDRESS"/>
        <sequence-generator name="XML_MBR1_ADDRESS_SEQUENCE_GENERATOR" sequence-name="XML_MBR1_ADDRESS_SEQ" allocation-size="25"/>
        <named-query name="findAllXMLAddressesByPostalCode">
            <query>SELECT OBJECT(address) FROM XMLAddress address WHERE address.postalCode = :postalcode</query>
        </named-query>
        <named-native-query name="findAllXMLAddresses" result-class="org.eclipse.persistence.testing.models.jpa.xml.composite.advanced.member_1.Address">
            <query>SELECT * FROM XML_MBR1_ADDRESS</query>
        </named-native-query>
        <exclude-default-listeners/>
        <exclude-superclass-listeners/>
        <attributes>
            <id name="id">
                <column name="ADDRESS_ID"/>
                <generated-value strategy="SEQUENCE" generator="XML_MBR1_ADDRESS_SEQUENCE_GENERATOR"/>
            </id>
            <basic name="postalCode">
                <column name="P_CODE"/>
            </basic>
            <basic name="street"/>
            <basic name="city"/>
            <basic name="province"/>
            <basic name="country"/>
        </attributes>
    </entity>
    <entity name="XMLCustomer" class="org.eclipse.persistence.testing.models.jpa.xml.composite.advanced.member_1.Customer" access="PROPERTY">
      <table name="XML_MBR1_CUSTOMER"/>
        <table-generator name="XML_MBR1_CUSTOMER_TABLE_GENERATOR" table="XML_MBR1_SEQ" pk-column-name="SEQ_NAME" value-column-name="SEQ_COUNT" pk-column-value="CUSTOMER_SEQ"/>
        <exclude-default-listeners/>
        <exclude-superclass-listeners/>
        <attributes>
            <id name="id">
                <column name="CUSTOMER_ID"/>
                <generated-value strategy="TABLE" generator="XML_MBR1_CUSTOMER_TABLE_GENERATOR"/>
            </id>
            <basic name="firstName">
                <column name="F_NAME"/>
            </basic>
            <basic name="lastName">
                <column name="L_NAME"/>
            </basic>
            <basic name="budget"/>
            <version name="version">
                <column name="VERSION"/>
            </version>
        </attributes>
    </entity>
</entity-mappings>
