<?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

      http://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.
-->
<!DOCTYPE orm PUBLIC
    "-//The Apache Software Foundation//DTD Java Data Objects Mapping Metadata 3.2//EN"
    "https://db.apache.org/jdo/xmlns/orm_3_2.dtd">
<orm>
	<package name="com.xyz">
		<class name="Employee" table="EMP">
			<inheritance strategy="new-table">
				<discriminator strategy="class-name" column="JAVA_CLS"/>
			</inheritance>
			<version strategy="state-comparison"/>
			<field name="ssn" column="SSN"/>
		</class>
		<class name="PartTimeEmployee" table="PART_EMP">
			<inheritance strategy="new-table">
				<join column="EMP_SSN"/>
			</inheritance>
			<field name="hourlyWage" column="WAGE"/>
		</class>
		<class name="FullTimeEmployee" table="FULL_EMP">
			<inheritance strategy="new-table">
				<join column="EMP_SSN"/>
			</inheritance>
			<field name="salary" column="SALARY"/>
		</class>
	</package>
</orm>
