Skip to main content
summaryrefslogtreecommitdiffstats
blob: 92918e88b11046973c4c1fd34ec7569797adb2ad (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
<!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 = January 22, 2008 9:11:15 -->
<meta name="OAC_IGNORE_SKIP_NAV" content="true" />
<title>Create many-to-one mappings</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 (Mode = ohj/ohw) - Version 5.0" />
<meta name="date" content="2005-07-10T12:57:20+08:00" />
<meta name="robots" content="noarchive" />
<meta name="doctitle" content="Create many-to-one mappings" />
<meta name="relnum" content="M5 - Release 2.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="BABCHIHI" name="BABCHIHI"></a></p>
<div class="sect3"><!-- infolevel="all" infotype="General" -->
<h1>Create many-to-one mappings</h1>
<p>Use a <span class="bold">May-to-One Mapping</span> to define a relationship from an attribute to another class, with many-to-one multiplicity to a database column. In the <a href="getting_started006.htm#BABIDCBA">Tutorial Object Model</a>, the <span class="bold">owner</span> field of the <span class="bold">PhoneNumber</span> class has a one-to-many relationship to the <span class="bold">Employee</span> class; there are many phone numbers that each employee may have.</p>
<p>This is the "back mapping" of the one-to-many mapping you previously defined.</p>
<ol start="1">
<li>
<p>Select the <span class="bold">PhoneNumber</span> entity in the Package Explorer view.</p>
</li>
<li>
<p>In the <a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a>, select the <span class="bold">owner</span> field of the <span class="bold">PhoneNumber</span> entity. The <a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a> displays the properties for the field.</p>
</li>
<li>
<p>In the <span class="gui-object-title">Map As</span> field, select <span class="gui-object-action">Many to One</span>.</p>
<div class="figure"><a id="sthref37" name="sthref37"></a>
<p class="titleinfigure">Many to One Mapping for owner</p>
<img src="img/persistence_view_manytoone.png" alt="The JPA Details view for the owner field." title="The JPA Details view for the owner field." /><br /></div>
<!-- class="figure" --></li>
<li>
<p>Leave the other fields with their default values. Dali correctly completes the information based on the database structure and previously defined mappings.</p>
</li>
<li>
<p>Use the <span class="bold">Join Columns</span> area to specify the relationship between the PhoneNumber and Employee entities. Because you had to explicitly define the ID field for the Employee entity in its ID mapping, you will need to edit the default join relationship.</p>
</li>
<li>
<p>Select the <span class="bold">Override Default</span> option.</p>
</li>
<li>
<p>Select the <span class="bold">owner_EMP_ID -&gt; EMP_ID</span> relationship in the <span class="gui-object-title">Join Columns</span> area and click <span class="bold">Edit</span>.</p>
</li>
<li>
<p>In the Edit Join Column dialog, select the following options and click <span class="bold">OK</span>.</p>
<ul>
<li>
<p>Name: <span class="bold">EMP_ID</span> (from the PHONE table)</p>
</li>
<li>
<p>Referenced Column Name: <span class="bold">EMP_ID</span> (from the EMPLOYEE table)</p>
</li>
</ul>
</li>
</ol>
<p>In the JPA Structure, the <span class="bold">owner</span> field is identified as a many-to-one mapping as shown in the following figure:</p>
<div class="figure"><a id="sthref38" name="sthref38"></a>
<p class="titleinfigure">JPA Structure for PhoneNumber Entity</p>
<img src="img/persistence_outline_owner.png" alt="The owner attribute of the PhoneNumber entity in the JPA Structure view." title="The owner attribute of the PhoneNumber entity in the JPA Structure view." /><br /></div>
<!-- class="figure" -->
<p>Next, you will <a href="getting_started019.htm#BABIDFFG">Create version mappings</a></p>
</div>
<!-- class="sect3" -->
<!-- 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, 2008,&nbsp;Oracle.&nbsp;All&nbsp;rights&nbsp;reserved.</span></a></td>
</tr>
</table>
</div>
<!-- class="footer" -->
</body>
</html>

Back to the top