Skip to main content
summaryrefslogtreecommitdiffstats
blob: c7e3bb6ce0d1aef6ff12d10154ed0ce383a7ab4e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<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" />
<title>Specifying entity inheritance</title>
<meta name="copyright" content="Copyright (c) 2000, 2009 oracle . All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html. Contributors: Oracle - initial API and implementation" />
<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 1.0.11" />
<meta name="date" content="2013-01-03T9:24:51Z" />
<meta name="robots" content="noarchive" />
<meta name="doctitle" content="Specifying entity inheritance" />
<meta name="relnum" content="Release 3.3" />
<meta name="partnum" content="Release 3.3" />
<link rel="copyright" href="dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
</head>
<body>
<p class="betadraftsubtitle">Beta Draft: 2013-01-03</p>
<p><a id="CIHCCCJD" name="CIHCCCJD"></a></p>
<div class="sect1"><!-- infolevel="all" infotype="General" -->
<h1>Specifying entity inheritance</h1>
<p><a id="sthref176" name="sthref176"></a><a id="sthref177" name="sthref177"></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>
<li>
<p>Select the entity in the <span class="gui-object-title">Project Explorer</span>.</p>
</li>
<li>
<p>In the <span class="gui-object-title">JPA Details</span> view, select the <a href="reference026.htm#CACFHGHE">Inheritance</a> information.</p>
<div class="figure"><a id="sthref178" name="sthref178"></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>In the <span class="bold">Strategy</span> list, select one of the following the inheritance strategies:</p>
<ul>
<li>
<p>A single table (default)</p>
</li>
<li>
<p>Joined table</p>
</li>
<li>
<p>One table per class</p>
</li>
</ul>
</li>
<li>
<p>Complete the fields in the <a href="reference026.htm#CACFHGHE">Inheritance</a> area.</p>
<p>Use the following table to complete the remaining fields on the tab. See <a href="reference026.htm#CACFHGHE">"Inheritance"</a> for additional details.</p>
</li>
</ol>
<p>Eclipse adds the following annotations the entity field:</p>
<pre xml:space="preserve" class="oac_no_warn">
@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="sthref179" name="sthref179"></a><a id="sthref180" name="sthref180"></a><a id="sthref181" name="sthref181"></a>The following figures illustrates the different inheritance strategies.</p>
<div class="figure"><a id="sthref182" name="sthref182"></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="sthref183" name="sthref183"></a>
<p class="titleinfigure"><a id="sthref184" name="sthref184"></a><a id="sthref185" name="sthref185"></a>Joined Table Inheritance</p>
<img src="img/inheritance_join.png" alt="This figure illustrates a joined subclass inheritance strategy." title="This figure illustrates a joined subclass inheritance strategy." /><br /></div>
<!-- class="figure" -->
<a id="sthref186" name="sthref186"></a>
<p class="subhead2">Related reference</p>
<ul>
<li>
<p><a href="task_add_persistence.htm#BABHICAI">Adding persistence to a class</a></p>
</li>
</ul>
<a id="sthref187" name="sthref187"></a>
<p class="subhead2">Related concepts</p>
<ul>
<li>
<p><a href="concept_persistence.htm#BABCAHIC">Understanding Java persistence</a></p>
</li>
</ul>
</div>
<!-- class="sect1" -->
<!-- Start Footer -->
<div class="footer">
<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
<col width="86%" />
<col width="*" />
<tr>
<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2011, 2013,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
</tr>
</table>
</div>
<!-- class="footer" -->
</body>
</html>

Back to the top