Skip to main content
aboutsummaryrefslogblamecommitdiffstats
blob: 8218ffd209d622dee7eb5bbb412fc9610f93977f (plain) (tree)
1
2
3
4
5
6
7
8
9
10



                                                                   
                                            
                                                  
                                                                        
                                  

                                                                   
                                                                                              
                                                        
                                          
                                                      
                                                   








                                                                                               
                            
                                                                                                                                                                                                                                                                              
              











                                                                                                                                                                                                                                                                                                                                                   


                                                               



                              


                                                                                               

                              

                                                                                                                                                                       
    
    

            
    



           
                                                       

                              


                                                                                                

                              

                                                                                                                                                                                    
    
    

                  
    

                  
    

             

     
                                                             





                                        
                                                                                                                                    



                                                                                                                                                                                                                                                                                                                                                         


                                                               



                              


                                                                                                                                                                        

                              


                                                                                                            

                              


                                                                                                                                                           


















                                                                                                                                                                                         



















                                                                                          
                                                                                                                                                                                                





                       
<!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:19 -->
<meta name="OAC_IGNORE_SKIP_NAV" content="true" />
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
<title>One-to-many 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 (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="One-to-many mapping" />
<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="BABHGEBD" name="BABHGEBD"></a></p>
<div class="sect2"><!-- infolevel="all" infotype="General" -->
<h1>One-to-many mapping</h1>
<p><a id="sthref140" name="sthref140"></a><a id="sthref141" name="sthref141"></a><a id="sthref142" name="sthref142"></a><a id="sthref143" name="sthref143"></a>Use a <span class="bold">One-to-Many Mapping</span> to define a relationship with one-to-many multiplicity.</p>
<ol 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-many</span>.</p>
</li>
<li>
<p>Use this table to complete the <a href="ref_mapping_general.htm#CACBHFIJ">General information</a> fields JPA Details view.</p>
<div class="inftblruleinformal">
<table class="RuleInformal" title="This table lists the fields in the General tab of the Persistence Properties view for this mapping." summary="This table lists the fields in the General tab of 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-t13">Property</th>
<th align="left" valign="bottom" id="r1c2-t13">Description</th>
<th align="left" valign="bottom" id="r1c3-t13">Default</th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t13" headers="r1c1-t13">Target Entity</td>
<td align="left" headers="r2c1-t13 r1c2-t13">The entity to which this attribute is mapped.</td>
<td align="left" headers="r2c1-t13 r1c3-t13"><br /></td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r3c1-t13" headers="r1c1-t13">Fetch Type</td>
<td align="left" headers="r3c1-t13 r1c2-t13">Defines how data is loaded from the database. See <a href="ref_mapping_general.htm#CACGGGHB">"Fetch Type"</a> for details.
<ul>
<li>
<p>Eager</p>
</li>
<li>
<p>Lazy</p>
</li>
</ul>
</td>
<td align="left" headers="r3c1-t13 r1c3-t13">Eager</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r4c1-t13" headers="r1c1-t13">Mapped By</td>
<td align="left" headers="r4c1-t13 r1c2-t13">The database field that owns the relationship.</td>
<td align="left" headers="r4c1-t13 r1c3-t13"><br /></td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r5c1-t13" headers="r1c1-t13">Order By</td>
<td align="left" headers="r5c1-t13 r1c2-t13">Specify the default order for objects returned from a query. See <a href="ref_mapping_general.htm#CACDADIH">"Order By"</a> for details.
<ul>
<li>
<p>No ordering</p>
</li>
<li>
<p>Primary key</p>
</li>
<li>
<p>Custom</p>
</li>
</ul>
</td>
<td align="left" headers="r5c1-t13 r1c3-t13">No ordering</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="inftblruleinformal" --></li>
<li>
<p>Use this table to complete the <a href="reference007.htm#CACBAEBC">Join Table Information</a> fields in the JPA Details view.</p>
<div class="inftblruleinformal">
<table class="RuleInformal" title="This table lists the fields in the Join Table tab of the Persistence Properties view for this mapping." summary="This table lists the fields in the Join Table tab of 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-t14">Property</th>
<th align="left" valign="bottom" id="r1c2-t14">Description</th>
<th align="left" valign="bottom" id="r1c3-t14">Default</th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t14" headers="r1c1-t14">Name</td>
<td align="left" headers="r2c1-t14 r1c2-t14">Name of the join table</td>
<td align="left" headers="r2c1-t14 r1c3-t14">By default, the name is assumed to be the primary tables associated with the entities concatenated with an underscore.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r3c1-t14" headers="r1c1-t14">Join Columns</td>
<td align="left" headers="r3c1-t14 r1c2-t14">Specify two or more join columns (that is, a primary key).</td>
<td align="left" headers="r3c1-t14 r1c3-t14"><br /></td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r4c1-t14" headers="r1c1-t14">Inverse Join Columns</td>
<td align="left" headers="r4c1-t14 r1c2-t14">The join column on the owned (or inverse) side of the association: the owned entity's primary key column.</td>
<td align="left" headers="r4c1-t14 r1c3-t14"><br /></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">
@OneToMany(targetEntity=<span class="italic">&lt;TARGET_ENTITY&gt;</span>)
@Column(name="<span class="italic">&lt;COLUMN&gt;</span>")


@OneToMany(targetEntity=<span class="italic">&lt;TARGET_ENTITY&gt;</span>.class, 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>")@OrderBy("<span class="italic">&lt;ORDER_BY&gt;</span>")
@JoinTable(name="<span class="italic">&lt;JOIN_TABLE_NAME&gt;</span>", joinColumns=@JoinColumn(name=
    "<span class="italic">&lt;JOIN_COLUMN_NAME&gt;</span>", referencedColumnName="<span class="italic">&lt;JOIN_COLUMN_REFERENCED_COLUMN&gt;</span>"), 
    inverseJoinColumns=@JoinColumn(name="<span class="italic">&lt;INVERSE_JOIN_COLUMN_NAME&gt;</span>", 
    referencedColumnName="<span class="italic">&lt;INVERSE_JOIN_COLUMN_REFERENCED_COLUMN&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, 2008,&nbsp;Oracle.&nbsp;All&nbsp;rights&nbsp;reserved.</span></a></td>
</tr>
</table>
</div>
<!-- class="footer" -->
</body>
</html>

Back to the top