blob: 02ab67d5f96ec9d538c234ef169b5cce4ab48356 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings version="2.0"
xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<persistence-unit-metadata>
<persistence-unit-defaults>
<access>FIELD</access>
</persistence-unit-defaults>
</persistence-unit-metadata>
<object-type-converter name="gender-converter"
object-type="model.Gender" data-type="java.lang.String">
<conversion-value object-value="Male" data-value="M" />
<conversion-value object-value="Female" data-value="F" />
</object-type-converter>
<named-query name="Employee.findAll">
<query>SELECT e FROM Employee e ORDER BY e.lastName, e.firstName</query>
<hint name="eclipselink.query-results-cache" value="True" />
</named-query>
<named-query name="Employee.findMin">
<query>SELECT e FROM Employee e WHERE e.id IN (SELECT MIN(ee.id) FROM
Employee ee)</query>
</named-query>
<entity class="model.LargeProject">
<table name="FP_LPROJECT" />
<discriminator-value>L</discriminator-value>
<attributes>
<basic name="budget" />
<basic name="milestone">
<temporal>TIMESTAMP</temporal>
</basic>
</attributes>
</entity>
<entity class="model.Address">
<table name="FP_ADDRESS" />
<attributes>
<id name="id">
<column name="ADDRESS_ID" />
<generated-value strategy="SEQUENCE" />
</id>
<basic name="city" />
<basic name="country" />
<basic name="province" />
<basic name="postalCode">
<column name="P_CODE" />
</basic>
<basic name="street" />
</attributes>
</entity>
<entity class="model.PhoneNumber">
<table name="FP_PHONE" />
<id-class class="model.PhoneNumber$ID" />
<attributes>
<id name="id">
<column name="EMP_ID" updatable="false" insertable="false" />
</id>
<id name="type">
<column updatable="false" />
</id>
<basic name="areaCode">
<column name="AREA_CODE" />
</basic>
<basic name="number">
<column name="P_NUMBER" />
</basic>
<many-to-one name="owner" fetch="EAGER">
<join-column name="EMP_ID" />
</many-to-one>
</attributes>
</entity>
<entity class="model.Employee">
<table name="FP_EMPLOYEE" />
<secondary-table name="FP_SALARY" />
<attributes>
<id name="id">
<column name="EMP_ID" />
<generated-value strategy="SEQUENCE" />
</id>
<basic name="firstName">
<column name="F_NAME" />
</basic>
<basic name="lastName">
<column name="L_NAME" />
</basic>
<basic name="startTime">
<column name="START_TIME" />
</basic>
<basic name="endTime">
<column name="END_TIME" />
</basic>
<basic name="gender">
<column name="GENDER" />
<convert>gender-converter</convert>
</basic>
<basic name="salary">
<column table="FP_SALARY" />
</basic>
<basic-collection name="responsibilities">
<value-column name="RESPON_DESC" />
<collection-table name="FP_RESPONS" />
</basic-collection>
<version name="version" />
<many-to-one name="manager" fetch="LAZY" optional="true">
<join-column name="MANAGER_ID" />
</many-to-one>
<one-to-many name="managedEmployees" mapped-by="manager" />
<one-to-many name="phoneNumbers" mapped-by="owner">
<cascade>
<cascade-all />
</cascade>
<private-owned />
</one-to-many>
<one-to-one name="address" fetch="LAZY">
<join-column name="ADDR_ID" />
<cascade>
<cascade-all />
</cascade>
<private-owned />
</one-to-one>
<many-to-many name="projects">
<join-table name="FP_PROJ_EMP">
<join-column name="EMP_ID" />
<inverse-join-column name="PROJ_ID" />
</join-table>
</many-to-many>
<embedded name="period" />
</attributes>
</entity>
<entity class="model.SmallProject">
<table name="FP_PROJECT" />
<discriminator-value>S</discriminator-value>
</entity>
<entity class="model.Project">
<table name="FP_PROJECT" />
<inheritance strategy="JOINED" />
<discriminator-column name="PROJ_TYPE"
discriminator-type="CHAR" />
<attributes>
<id name="id">
<column name="PROJ_ID" />
<generated-value strategy="SEQUENCE" />
</id>
<basic name="description">
<column name="DESCRIP" />
</basic>
<basic name="name">
<column name="PROJ_NAME" />
</basic>
<version name="version" />
<many-to-one name="teamLeader" fetch="LAZY">
<join-column name="LEADER_ID" />
</many-to-one>
</attributes>
</entity>
<embeddable class="model.EmploymentPeriod">
<attributes>
<basic name="startDate">
<column name="START_DATE" />
<temporal>DATE</temporal>
</basic>
<basic name="endDate">
<column name="END_DATE" />
<temporal>DATE</temporal>
</basic>
</attributes>
</embeddable>
</entity-mappings>