Skip to main content
summaryrefslogtreecommitdiffstats
blob: c67cbd61d01c3a70d8df6762cf52bd2d9e0384a6 (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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<!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>
<!-- Run date = May 21, 2007 6:35:56 -->
<meta name="OAC_IGNORE_SKIP_NAV" content="true" />
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
<title>One-to-one mapping</title>
<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="One-to-one mapping" />
<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" />
<link rel="stylesheet" href="dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" />
<link rel="start" href="../../index.htm" title="Home" type="text/html" />
<link rel="contents" href="toc.htm" title="Contents" type="text/html" />
</head>
<body>
<p><a id="BABFHBCJ" name="BABFHBCJ"></a></p>
<div class="sect2"><!-- 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>One-to-one mapping</h1>
</td>
</tr>
</table>
<p><a id="sthref144" name="sthref144"></a><a id="sthref145" name="sthref145"></a><a id="sthref146" name="sthref146"></a><a id="sthref147" name="sthref147"></a>Use a <span class="bold">One-to-One Mapping</span> to define a relationship with one-to-many multiplicity.</p>
<ol type="1" start="1">
<li>
<p>In the <a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a>, select the field to map. The <a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a> displays the properties for the selected.</p>
</li>
<li>
<p>In the <span class="gui-object-title">Map As</span> field, select <span class="gui-object-action">One-to-one</span>.</p>
</li>
<li>
<p>Use this table to complete the <a href="ref_mapping_general.htm#CACBHFIJ">General information</a> fields in the JPA Details view.</p>
<div class="inftblruleinformal">
<table class="RuleInformal" title="This table lists the fields in the Persistence Properties view for this mapping." summary="This table lists the fields in the Persistence Properties view for this mapping." 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-t15">Property</th>
<th align="left" valign="bottom" id="r1c2-t15">Description</th>
<th align="left" valign="bottom" id="r1c3-t15">Default</th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t15" headers="r1c1-t15">Target Entity</td>
<td align="left" headers="r2c1-t15 r1c2-t15">The entity to which this attribute is mapped.</td>
<td align="left" headers="r2c1-t15 r1c3-t15">null
<p>You do not need to explicitly specify the target entity, since it can be inferred from the type of object being referenced.</p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r3c1-t15" headers="r1c1-t15">Fetch Type</td>
<td align="left" headers="r3c1-t15 r1c2-t15">Defines how data is loaded from the database. See <a href="ref_mapping_general.htm#CACGGGHB">"Fetch Type"</a> for details.
<ul>
<li type="disc">
<p>Eager</p>
</li>
<li type="disc">
<p>Lazy</p>
</li>
</ul>
</td>
<td align="left" headers="r3c1-t15 r1c3-t15">Eager</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r4c1-t15" headers="r1c1-t15">Mapped By</td>
<td align="left" headers="r4c1-t15 r1c2-t15">The database field that owns the relationship.</td>
<td align="left" headers="r4c1-t15 r1c3-t15"><br /></td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="inftblruleinformal" --></li>
<li>
<p>Use this table to complete the <a href="reference007.htm#CACFCEJC">Join Columns Information</a> fields in the <span class="gui-object-title">JPA Details</span> view.</p>
<div class="inftblruleinformal">
<table class="RuleInformal" title="This table lists the fields in the Persistence Properties view for this mapping." summary="This table lists the fields in the Persistence Properties view for this mapping." 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-t16">Property</th>
<th align="left" valign="bottom" id="r1c2-t16">Description</th>
<th align="left" valign="bottom" id="r1c3-t16">Default</th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t16" headers="r1c1-t16">Join Column</td>
<td align="left" headers="r2c1-t16 r1c2-t16"><a id="sthref148" name="sthref148"></a><a id="sthref149" name="sthref149"></a>Specify a mapped column for joining an entity association. This field corresponds to the <code>@JoinColum</code> attribute.
<p>Select <span class="bold">Override Default</span>, then Add, Edit, or Remove the join columns.</p>
</td>
<td align="left" headers="r2c1-t16 r1c3-t16">By default, the mapping is assumed to have a single join.</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="inftblruleinformal" --></li>
</ol>
<p>Eclipse adds the following annotations to the field:</p>
<pre xml:space="preserve" class="oac_no_warn">
@OneToOne(targetEntity=<span class="italic">&lt;TARGET_ENTITY&gt;</span>, cascade=CascadeType.<span class="italic">&lt;CASCADE_TYPE&gt;</span>, 
    fetch = FetchType.<span class="italic">&lt;FETCH_TYPE&gt;</span>, mappedBy = "<span class="italic">&lt;MAPPED_BY&gt;</span>")
@JoinColumn(name="<span class="italic">&lt;JOIN_COLUMN_NAME&gt;</span>", referencedColumnName=
    "<span class="italic">&lt;JOIN_COLUMN_REFERENCED_COLUMN&gt;</span>", insertable = <span class="italic">&lt;INSERTABLE&gt;</span>, 
    updatable = <span class="italic">&lt;UPDATABLE&gt;</span>)


</pre>
<p>&nbsp;</p>
<img src="img/ngrelt.png" alt="Related task" title="Related task" /><br />
<br />
<a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a>
<p>&nbsp;</p>
<img src="img/ngrelr.png" alt="Related reference" title="Related reference" /><br />
<br />
<a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a><br />
<a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a>
<p>&nbsp;</p>
<img src="img/ngrelc.png" alt="Related concept" title="Related concept" /><br />
<br />
<a href="concept_mapping.htm#BABBDJFI">Understanding OR mappings</a><br />
<a href="concepts001.htm#BABBGFJG">Understanding EJB 3.0 Java Persistence API</a></div>
<!-- class="sect2" -->
<!-- Start Footer -->
<div class="footer">
<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td align="left" width="86%"><a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2007,&nbsp;Oracle.&nbsp;All&nbsp;rights&nbsp;reserved.</span></a></td>
</tr>
</table>
</div>
<!-- class="footer" -->
</body>
</html>

Back to the top