Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.doc.user/task_inheritance.htm')
-rw-r--r--jpa/plugins/org.eclipse.jpt.doc.user/task_inheritance.htm94
1 files changed, 79 insertions, 15 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/task_inheritance.htm b/jpa/plugins/org.eclipse.jpt.doc.user/task_inheritance.htm
index 96e281deb8..5cc67ba850 100644
--- a/jpa/plugins/org.eclipse.jpt.doc.user/task_inheritance.htm
+++ b/jpa/plugins/org.eclipse.jpt.doc.user/task_inheritance.htm
@@ -2,16 +2,16 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
-<!-- Run date = May 9, 2007 10:03:42 -->
+<!-- Run date = May 15, 2007 9:04:23 -->
<meta name="OAC_IGNORE_SKIP_NAV" content="true" />
-<title>Specifying additional tables</title>
+<title>Specifying entity inheritance</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta name="generator" content="Oracle DARB XHTML Converter - Version 4.5.3 Build 02" />
<meta name="date" content="2005-07-10T12:57:20+08:00" />
<meta name="robots" content="all" scheme="http://www.robotstxt.org/" />
-<meta name="doctitle" content="Specifying additional tables" />
+<meta name="doctitle" content="Specifying entity inheritance" />
<meta name="relnum" content="Release 1.0.0" />
<meta name="partnum" content="" />
<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
@@ -20,40 +20,104 @@
<link rel="contents" href="toc.htm" title="Contents" type="text/html" />
</head>
<body>
-<p><a id="CIHGBIEI" name="CIHGBIEI"></a></p>
+<p><a id="CIHCCCJD" name="CIHCCCJD"></a></p>
<div class="sect1"><!-- infolevel="all" infotype="General" -->
<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
<tr valign="bottom">
<td align="left" width="86%">
-<h1>Specifying additional tables</h1>
+<h1>Specifying entity inheritance</h1>
</td>
</tr>
</table>
-<p><a id="sthref96" name="sthref96"></a><a id="sthref97" name="sthref97"></a>An entity may inherit properties from other entities. You can specify a specific strategy to use for inheritance.</p>
+<p><a id="sthref100" name="sthref100"></a><a id="sthref101" name="sthref101"></a>An entity may inherit properties from other entities. You can specify a specific strategy to use for inheritance.</p>
<p>Use this procedure to specify inheritance (<code>@Inheritance)</code> for an existing entity (<code>@Entity</code>):</p>
<ol type="1" start="1">
<li>
<p>Select the entity in the <span class="gui-object-title">Package Explorer</span>.</p>
</li>
<li>
-<p>In the <span class="gui-object-title">JPA Details</span> view, select the <span class="gui-object-action">Secondary Tables</span> information.</p>
-<div class="figure"><a id="sthref98" name="sthref98"></a>
-<p class="titleinfigure">Specifying Secondary Tables</p>
-<img src="img/secondary_tables.png" alt="Secondary Tables area on the JPA Details view." title="Secondary Tables area on the JPA Details view." /><br /></div>
+<p>In the <span class="gui-object-title">JPA Details</span> view, select the <span class="gui-object-action">Inheritance</span> information.</p>
+<div class="figure"><a id="sthref102" name="sthref102"></a>
+<p class="titleinfigure">Specifying Inheritance</p>
+<img src="img/inheritance_tab.png" alt="Selecting the Inheritance area on the JPA Details view." title="Selecting the Inheritance area on the JPA Details view." /><br /></div>
<!-- class="figure" --></li>
<li>
-<p>Click <span class="bold">Add</span> to associate an additional table with the entity. The Edit Secondary Table dialog appears</p>
+<p>In the <span class="bold">Strategy</span> list, select one of the following the inheritance strategies:</p>
+<ul>
+<li type="disc">
+<p>A single table (default)</p>
</li>
-<li>
-<p>Select the <span class="bold">Name</span>, <span class="bold">Catalog</span>, and <span class="bold">Schema</span> of the additional table to associate with the entity.</p>
+<li type="disc">
+<p>Joined table</p>
+</li>
+<li type="disc">
+<p>One table per class</p>
</li>
+</ul>
+</li>
+<li>
+<p>Use the following table to complete the remaining fields on the tab. See <a href="reference005.htm#CACFHGHE">"Inheritance information"</a> for additional details.</p>
+<div class="inftblruleinformal">
+<table class="RuleInformal" title="This table describes the options on the Persistence Properties view, Inheritance tab." summary="This table describes the options on the Persistence Properties view, Inheritance tab." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0">
+<thead>
+<tr align="left" valign="top">
+<th align="left" valign="bottom" id="r1c1-t3">Property</th>
+<th align="left" valign="bottom" id="r1c2-t3">Description</th>
+<th align="left" valign="bottom" id="r1c3-t3">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr align="left" valign="top">
+<td align="left" id="r2c1-t3" headers="r1c1-t3"><a id="sthref103" name="sthref103"></a><a id="sthref104" name="sthref104"></a>Discriminator Column</td>
+<td align="left" headers="r2c1-t3 r1c2-t3">Name of the discriminator column when using a <span class="bold">Single</span> or <span class="bold">Joined</span> inheritance strategy.
+<p>This field corresponds to the <code>@DiscriminatorColumn</code> annotation.</p>
+</td>
+<td align="left" headers="r2c1-t3 r1c3-t3"><br /></td>
+</tr>
+<tr align="left" valign="top">
+<td align="left" id="r3c1-t3" headers="r1c1-t3">Discriminator Type</td>
+<td align="left" headers="r3c1-t3 r1c2-t3">Set the discriminator type to <code>Char</code> or <code>Integer</code> (instead of its default: <code>String</code>). The <span class="bold">Discriminator Value</span> must conform to this type.</td>
+<td align="left" headers="r3c1-t3 r1c3-t3">String</td>
+</tr>
+<tr align="left" valign="top">
+<td align="left" id="r4c1-t3" headers="r1c1-t3"><a id="sthref105" name="sthref105"></a><a id="sthref106" name="sthref106"></a>Discriminator Value</td>
+<td align="left" headers="r4c1-t3 r1c2-t3">Specify the discriminator value used to differentiate an entity in this inheritance hierarchy. The value must conform to the specified <span class="bold">Discriminator Type</span>.
+<p>This field corresponds to the <code>@DiscriminatorValue</code> annotation.</p>
+</td>
+<td align="left" headers="r4c1-t3 r1c3-t3"><br /></td>
+</tr>
+<tr align="left" valign="top">
+<td align="left" id="r5c1-t3" headers="r1c1-t3">Override Default</td>
+<td align="left" headers="r5c1-t3 r1c2-t3">Use this field to specify custom primary key join columns.
+<p>This field corresponds to the <code>@PrimaryKeyJoinClumn</code> annotation.</p>
+</td>
+<td align="left" headers="r5c1-t3 r1c3-t3"><br /></td>
+</tr>
+</tbody>
+</table>
+<br /></div>
+<!-- class="inftblruleinformal" --></li>
</ol>
-<p>Eclipse adds the following annotations the entity:</p>
+<p>Eclipse adds the following annotations the entity field:</p>
<pre xml:space="preserve" class="oac_no_warn">
-@SecondaryTable(name="NAME", catalog = "CATALOG", schema = "SCHEMA"
+@Inheritance(strategy=InheritanceType.<span class="italic">&lt;INHERITANCE_STRATEGY&gt;</span>)
+@DiscriminatorColumn(name="<span class="italic">&lt;DISCRIMINATOR_COLUMN&gt;</span>",
+ discriminatorType=<span class="italic">&lt;DISCRIMINATOR_TYPE&gt;</span>)
+@DiscriminatorValue(value-"<span class="italic">&lt;DISCRIMINATOR_VALUE&gt;</span>")
+@PrimaryKeyJoinColumn(name="<span class="italic">&lt;JOIN_COLUMN_NAME&gt;</span>",
+ referencedColumnName = "<span class="italic">&lt;REFERENCED_COLUMN_NAME&gt;</span>")
</pre>
+<p><a id="sthref107" name="sthref107"></a><a id="sthref108" name="sthref108"></a><a id="sthref109" name="sthref109"></a>The following figures illustrates the different inheritance strategies.</p>
+<div class="figure"><a id="sthref110" name="sthref110"></a>
+<p class="titleinfigure">Single Table Inheritance</p>
+<img src="img/inheritance_single.png" alt="This figure illustrates entity inheritance in a single table." title="This figure illustrates entity inheritance in a single table." /><br /></div>
+<!-- class="figure" -->
+<div class="figure"><a id="sthref111" name="sthref111"></a>
+<p class="titleinfigure"><a id="sthref112" name="sthref112"></a><a id="sthref113" name="sthref113"></a>Joined Table Inheritance</p>
+<img src="img/inheritance_join.png" alt="This figure shows a sample joined inheritance table strategy." title="This figure shows a sample joined inheritance table strategy." /><br /></div>
+<!-- class="figure" -->
<p>&nbsp;</p>
<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
<br />

Back to the top