<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      https://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<orm xmlns="https://db.apache.org/jdo/xmlns/orm"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="https://db.apache.org/jdo/xmlns/orm
     https://db.apache.org/jdo/xmlns/orm_3_2.xsd">
    <package name="org.apache.jdo.tck.pc.inheritance">
        <class name="AllPersist" table="AllPersist">
            <inheritance strategy="new-table">
                <discriminator strategy="class-name" column="DISCRIMINATOR"/>
            </inheritance>
            <field name="intB" column="INT_B"/>
            <field name="doubleB" column="DOUBLE_B"/>
            <field name="keyValue" column="KEY_VALUE"/>
        </class>

        <class name="AllPersist2">
            <inheritance strategy="superclass-table"/>
            <field name="floatE" column="FLOAT_E"/>
        </class>

        <class name="AllPersist3">
            <inheritance strategy="superclass-table"/>
            <field name="shortF" column="SHORT_F"/>
            <field name="secondObj" column="SECOND_OBJ"/>
            <field name="thirdObj" column="THIRD_OBJ"/>
        </class>

        <class name="AllPersist4">
            <inheritance strategy="superclass-table"/>
            <field name="intH" column="INT_H"/>
        </class>

        <class name="TopNonPersistB" table="TopNonPersistB">
            <inheritance strategy="new-table">
                <discriminator strategy="class-name" column="DISCRIMINATOR"/>
            </inheritance>
            <field name="keyValue" column="KEY_VALUE" />
            <field name="doubleB" column="DOUBLE_B"/>
            <field name="intB" column="INT_B"/>
        </class>

        <class name="TopNonPersistE">
            <inheritance strategy="superclass-table"/>
            <field name="floatE" column="FLOAT_E"/>
        </class>

        <class name="TopNonPersistF">
            <inheritance strategy="superclass-table"/>
            <field name="shortF" column="SHORT_F"/>
            <field name="secondObj" column="SECOND_OBJ"/>
            <field name="thirdObj" column="THIRD_OBJ"/>
        </class>

        <class name="TopNonPersistH">
            <inheritance strategy="superclass-table"/>
            <field name="intH" column="INT_H"/>
        </class>

        <class name="TopPersist" table="TopPersist">
            <inheritance strategy="new-table">
                <discriminator strategy="class-name" column="DISCRIMINATOR"/>
            </inheritance>
            <field name="doubleB" column="DOUBLE_B"/>
            <field name="intB" column="INT_B"/>
            <field name="keyValue" column="KEY_VALUE" />
        </class>

        <class name="TopPersistE">
            <inheritance strategy="superclass-table"/>
            <field name="floatE" column="FLOAT_E"/>
        </class>

        <class name="TopPersistF">
            <inheritance strategy="superclass-table"/>
            <field name="shortF" column="SHORT_F"/>
            <field name="secondObj" column="SECOND_OBJ"/>
            <field name="thirdObj" column="THIRD_OBJ"/>
        </class>

        <class name="TopPersistH">
            <inheritance strategy="superclass-table"/>
            <field name="intH" column="INT_H"/>
        </class>

        <class name="FieldSameName" table="FieldSameName">
            <inheritance strategy="new-table">
                <discriminator strategy="class-name" column="DISCRIMINATOR"/>
            </inheritance>
            <field name="n2" column="N2"/>
            <field name="n3" column="N3"/>
            <field name="keyValue" column="KEY_VALUE"/>
        </class>

        <class name="FieldSameName2">
            <inheritance strategy="superclass-table"/>
            <field name="n3" column="FSN2_N3"/>
        </class>

        <class name="FieldSameName3">
            <inheritance strategy="superclass-table"/>
            <field name="n1" column="FSN3_N1"/>
            <field name="n2" column="FSN3_N2"/>
            <field name="n3" column="FSN3_N3"/>
        </class>

        <class name="FieldSameName4">
            <inheritance strategy="superclass-table"/>
            <field name="n3" column="FSN4_N3"/>
        </class>

</package>
</orm>
