# Classnames can have the following attributes: 
#          jdo:{persistent|transactional} 
#          super: <classname> 
#          oid: <classname> 
#          access: {public|protected|package|private} 
# Fieldnames can have the following attributes: 
#          type:<type> 
#          access: {public|protected|package|private} 
#          jdo:{persistent|transactional|transient} 
#          annotation:{key|dfg|mediated} 

org.apache.jdo.pc.empdept.PCPerson=jdo:persistent
org.apache.jdo.pc.empdept.PCPerson#firstname=jdo:persistent,annotation:mediated
org.apache.jdo.pc.empdept.PCPerson#lastname=jdo:persistent,annotation:mediated
org.apache.jdo.pc.empdept.PCPerson#birthdate=jdo:persistent,annotation:mediated

org.apache.jdo.pc.empdept.PCEmployee=jdo:persistent,super:org.apache.jdo.pc.empdept.PCPerson
org.apache.jdo.pc.empdept.PCEmployee#empid=jdo:persistent,annotation:mediated
org.apache.jdo.pc.empdept.PCEmployee#hiredate=jdo:persistent,annotation:mediated
org.apache.jdo.pc.empdept.PCEmployee#department=jdo:persistent,annotation:mediated
org.apache.jdo.pc.empdept.PCEmployee#projects=jdo:persistent,annotation:mediated
org.apache.jdo.pc.empdept.PCEmployee#manager=jdo:persistent,annotation:mediated
org.apache.jdo.pc.empdept.PCEmployee#employees=jdo:persistent,annotation:mediated
org.apache.jdo.pc.empdept.PCEmployee#insurance=jdo:persistent,annotation:mediated

org.apache.jdo.pc.empdept.PCPartTimeEmployee=jdo:persistent,super:org.apache.jdo.pc.empdept.PCEmployee
org.apache.jdo.pc.empdept.PCPartTimeEmployee#wage=jdo:persistent,annotation:mediated

org.apache.jdo.pc.empdept.PCFullTimeEmployee=jdo:persistent,super:org.apache.jdo.pc.empdept.PCEmployee
org.apache.jdo.pc.empdept.PCFullTimeEmployee#salary=jdo:persistent,annotation:mediated

org.apache.jdo.pc.empdept.PCDepartment=jdo:persistent
org.apache.jdo.pc.empdept.PCDepartment#deptid=jdo:persistent,annotation:mediated
org.apache.jdo.pc.empdept.PCDepartment#name=jdo:persistent,annotation:mediated
org.apache.jdo.pc.empdept.PCDepartment#employees=jdo:persistent,annotation:mediated

org.apache.jdo.pc.empdept.PCInsurance=jdo:persistent
org.apache.jdo.pc.empdept.PCInsurance#insid=jdo:persistent,annotation:mediated
org.apache.jdo.pc.empdept.PCInsurance#carrier=jdo:persistent,annotation:mediated
org.apache.jdo.pc.empdept.PCInsurance#employee=jdo:persistent,annotation:mediated

org.apache.jdo.pc.empdept.PCProject=jdo:persistent
org.apache.jdo.pc.empdept.PCProject#projid=jdo:persistent,annotation:mediated
org.apache.jdo.pc.empdept.PCProject#name=jdo:persistent,annotation:mediated
org.apache.jdo.pc.empdept.PCProject#employees=jdo:persistent,annotation:mediated
