<?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.mylib">

    <class name="PCPoint" table="PCPoint">
      <datastore-identity strategy="identity" column="DATASTORE_IDENTITY"/>
      <field name="id" column="ID"/>
      <field name="x" column="X"/>
      <field name="y" column="Y"/>
    </class>

    <class name="VersionedPCPoint" table="VersionedPCPoint">
      <datastore-identity strategy="identity" column="DATASTORE_IDENTITY"/>
      <field name="id" column="ID"/>
      <field name="x" column="X"/>
      <field name="y" column="Y"/>
    </class>

    <class name="PCPoint2" table="PCPoint2">
      <datastore-identity strategy="identity" column="DATASTORE_IDENTITY"/>
      <field name="id" column="ID"/>
      <field name="x" column="X"/>
      <field name="y" column="Y"/>
    </class>

    <class name="PCRect" table="PCRect">
      <datastore-identity strategy="identity" column="DATASTORE_IDENTITY"/>
      <field name="id" column="ID"/>
      <field name="lowerRight" column="LOWER_RIGHT">
        <foreign-key/>
      </field>
      <field name="upperLeft" column="UPPER_LEFT">
        <foreign-key/>
      </field>
    </class>

    <class name="PrimitiveTypes" table="PrimitiveTypes">
      <datastore-identity strategy="identity" column="DATASTORE_IDENTITY"/>
      <field name="id" column="ID"/>
      <field name="booleanNotNull" column="booleanNotNull"/>
      <field name="booleanNull" column="booleanNull"/>
      <field name="byteNotNull" column="byteNotNull"/>
      <field name="byteNull" column="byteNull"/>
      <field name="shortNotNull" column="shortNotNull"/>
      <field name="shortNull" column="shortNull"/>
      <field name="intNotNull" column="intNotNull"/>
      <field name="intNull" column="intNull"/>
      <field name="longNotNull" column="longNotNull"/>
      <field name="longNull" column="longNull"/>
      <field name="floatNotNull" column="floatNotNull"/>
      <field name="floatNull" column="floatNull"/>
      <field name="doubleNotNull" column="doubleNotNull"/>
      <field name="doubleNull" column="doubleNull"/>
      <field name="charNotNull" column="charNotNull"/>
      <field name="charNull" column="charNull"/>
      <field name="dateNull" column="dateNull"/>
      <field name="stringNull" column="stringNull"/>
      <field name="bigDecimal" column="bigDecimal"/>
      <field name="bigInteger" column="bigInteger"/>
      <field name="PrimitiveTypes" column="PrimitiveTypes"/>
    </class>

    <class name="PCClass" table="PCClass">
      <datastore-identity strategy="identity" column="DATASTORE_IDENTITY"/>
      <field name="id" column="ID"/>
      <field name="number1" column="NUMBER1"/>
      <field name="number2" column="NUMBER2"/>
    </class>

  </package>
</orm>

