diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.doc.user/tasks015.htm')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.doc.user/tasks015.htm | 151 |
1 files changed, 94 insertions, 57 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks015.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks015.htm index b7943aaab5..0ac5834bee 100644 --- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks015.htm +++ b/jpa/plugins/org.eclipse.jpt.doc.user/tasks015.htm @@ -2,123 +2,150 @@ "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 = July 23, 2008 8:59:47 --> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -<title>Many-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 (Mode = ohj/ohw) - Version 5.0" /> -<meta name="date" content="2005-07-10T12:57:20+08:00" /> +<title>One-to-many mapping</title> +<meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1 Build 004" /> +<meta name="date" content="2009-05-01T8:12:47Z" /> <meta name="robots" content="noarchive" /> -<meta name="doctitle" content="Many-to-one mapping" /> -<meta name="relnum" content="Release 2.0" /> +<meta name="doctitle" content="One-to-many mapping" /> +<meta name="relnum" content="Release 2.2" /> <meta name="copyright" content="Copyright (c) 2000, 2008 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" /> <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" /> -<!-- start--> <!-- contents --> </head> <body> -<p><a id="BABHFAFJ" name="BABHFAFJ"></a></p> +<p><a id="BABHGEBD" name="BABHGEBD"></a></p> <div class="sect2"><!-- infolevel="all" infotype="General" --> -<h1>Many-to-one mapping</h1> -<p><a id="sthref117" name="sthref117"></a><a id="sthref118" name="sthref118"></a><a id="sthref119" name="sthref119"></a><a id="sthref120" name="sthref120"></a>Use a <span class="bold">Many-to-One</span> mapping to defines a single-valued association to another entity class that has many-to-one multiplicity.</p> -<ol start="1"> +<h1>One-to-many mapping</h1> +<p><a id="sthref139" name="sthref139"></a><a id="sthref140" name="sthref140"></a><a id="sthref141" name="sthref141"></a><a id="sthref142" name="sthref142"></a>Use a <span class="bold">One-to-Many Mapping</span> to define a relationship with one-to-many multiplicity.</p> +<ol> <li> <p>In the <a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a>, select the field to map.</p> </li> <li> -<p>Right click the field and then select <span class="bold">Map As > Many-to-One</span>. The <a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a> displays the properties for the selected.</p> +<p>Right-click the field and then select <span class="bold">Map As > One-to-many</span>. 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>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 ion the General tab for this mapping." summary="This table lists the fields ion the General tab for this mapping." dir="ltr" border="1" width="100%" frame="border" rules="all" cellpadding="3" cellspacing="0"> +<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"> +<col width="19%" /> +<col width="*" /> +<col width="38%" /> <thead> <tr align="left" valign="top"> -<th align="left" valign="bottom" id="r1c1-t22">Property</th> -<th align="left" valign="bottom" id="r1c2-t22">Description</th> -<th align="left" valign="bottom" id="r1c3-t22">Default</th> +<th align="left" valign="bottom" id="r1c1-t23">Property</th> +<th align="left" valign="bottom" id="r1c2-t23">Description</th> +<th align="left" valign="bottom" id="r1c3-t23">Default</th> </tr> </thead> <tbody> <tr align="left" valign="top"> -<td align="left" id="r2c1-t22" headers="r1c1-t22">Mapping Entity Hyperlink</td> -<td align="left" headers="r2c1-t22 r1c2-t22">Defines mapping as <span class="bold">Many-to-One</span>. This corresponds to the <code>@ManyToOne</code> annotation.</td> -<td align="left" headers="r2c1-t22 r1c3-t22">Many-to-One</td> +<td align="left" id="r2c1-t23" headers="r1c1-t23">Mapping Entity Type Hyperlink</td> +<td align="left" headers="r2c1-t23 r1c2-t23">Defines mapping as <span class="bold">One-to-Many</span>. This corresponds to the <code>@OneToMany</code> annotation.</td> +<td align="left" headers="r2c1-t23 r1c3-t23">One-to-Many</td> </tr> <tr align="left" valign="top"> -<td align="left" id="r3c1-t22" headers="r1c1-t22">Target Entity</td> -<td align="left" headers="r3c1-t22 r1c2-t22">The entity to which this attribute is mapped.</td> -<td align="left" headers="r3c1-t22 r1c3-t22">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> +<td align="left" id="r3c1-t23" headers="r1c1-t23">Target Entity</td> +<td align="left" headers="r3c1-t23 r1c2-t23">The entity to which this attribute is mapped.</td> +<td align="left" headers="r3c1-t23 r1c3-t23"><br /></td> </tr> <tr align="left" valign="top"> -<td align="left" id="r4c1-t22" headers="r1c1-t22">Fetch</td> -<td align="left" headers="r4c1-t22 r1c2-t22">Defines how data is loaded from the database. See <a href="ref_mapping_general.htm#CACGGGHB">"Fetch Type"</a> for details. +<td align="left" id="r4c1-t23" headers="r1c1-t23">Cascade</td> +<td align="left" headers="r4c1-t23 r1c2-t23">See <a href="ref_mapping_general.htm#CACJAIHB">"Cascade Type"</a> for details. <ul> <li> -<p>Eager</p> +<p>Default</p> </li> <li> -<p>Lazy</p> +<p>All</p> +</li> +<li> +<p>Persist</p> +</li> +<li> +<p>Merge</p> +</li> +<li> +<p>Remove</p> </li> </ul> </td> -<td align="left" headers="r4c1-t22 r1c3-t22">Eager</td> +<td align="left" headers="r4c1-t23 r1c3-t23"><br /></td> </tr> <tr align="left" valign="top"> -<td align="left" id="r5c1-t22" headers="r1c1-t22">Cascade</td> -<td align="left" headers="r5c1-t22 r1c2-t22">See <a href="ref_mapping_general.htm#CACJAIHB">"Cascade Type"</a> for details. +<td align="left" id="r5c1-t23" headers="r1c1-t23">Fetch</td> +<td align="left" headers="r5c1-t23 r1c2-t23">Defines how data is loaded from the database. See <a href="ref_mapping_general.htm#CACGGGHB">"Fetch Type"</a> for details. <ul> <li> -<p>Default</p> +<p>Eager</p> </li> <li> -<p>All</p> +<p>Lazy</p> </li> +</ul> +</td> +<td align="left" headers="r5c1-t23 r1c3-t23">Eager</td> +</tr> +<tr align="left" valign="top"> +<td align="left" id="r6c1-t23" headers="r1c1-t23">Mapped By</td> +<td align="left" headers="r6c1-t23 r1c2-t23">The database field that owns the relationship.</td> +<td align="left" headers="r6c1-t23 r1c3-t23"><br /></td> +</tr> +<tr align="left" valign="top"> +<td align="left" id="r7c1-t23" headers="r1c1-t23">Order By</td> +<td align="left" headers="r7c1-t23 r1c2-t23">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>Persist</p> +<p>No ordering</p> </li> <li> -<p>Merge</p> +<p>Primary key</p> </li> <li> -<p>Remove</p> +<p>Custom</p> </li> </ul> </td> -<td align="left" headers="r5c1-t22 r1c3-t22">Default</td> -</tr> -<tr align="left" valign="top"> -<td align="left" id="r6c1-t22" headers="r1c1-t22">Optional</td> -<td align="left" headers="r6c1-t22 r1c2-t22">Specifies if this field is can be null.</td> -<td align="left" headers="r6c1-t22 r1c3-t22">Yes</td> +<td align="left" headers="r7c1-t23 r1c3-t23">No ordering</td> </tr> </tbody> </table> <br /></div> <!-- class="inftblruleinformal" --></li> <li> -<p>Use this table to complete the fields on the <a href="reference015.htm#CACFCEJC">Join Columns Information</a> tab in the <span class="gui-object-title">JPA Details</span> view.</p> +<p>Use this table to complete the <a href="reference011.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 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"> +<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"> +<col width="19%" /> +<col width="*" /> +<col width="38%" /> <thead> <tr align="left" valign="top"> -<th align="left" valign="bottom" id="r1c1-t23">Property</th> -<th align="left" valign="bottom" id="r1c2-t23">Description</th> -<th align="left" valign="bottom" id="r1c3-t23">Default</th> +<th align="left" valign="bottom" id="r1c1-t24">Property</th> +<th align="left" valign="bottom" id="r1c2-t24">Description</th> +<th align="left" valign="bottom" id="r1c3-t24">Default</th> </tr> </thead> <tbody> <tr align="left" valign="top"> -<td align="left" id="r2c1-t23" headers="r1c1-t23">Join Column</td> -<td align="left" headers="r2c1-t23 r1c2-t23"><a id="sthref121" name="sthref121"></a><a id="sthref122" name="sthref122"></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-t23 r1c3-t23">By default, the mapping is assumed to have a single join.</td> +<td align="left" id="r2c1-t24" headers="r1c1-t24">Name</td> +<td align="left" headers="r2c1-t24 r1c2-t24">Name of the join table</td> +<td align="left" headers="r2c1-t24 r1c3-t24">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-t24" headers="r1c1-t24">Join Columns</td> +<td align="left" headers="r3c1-t24 r1c2-t24">Specify two or more join columns (that is, a primary key).</td> +<td align="left" headers="r3c1-t24 r1c3-t24"><br /></td> +</tr> +<tr align="left" valign="top"> +<td align="left" id="r4c1-t24" headers="r1c1-t24">Inverse Join Columns</td> +<td align="left" headers="r4c1-t24 r1c2-t24">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-t24 r1c3-t24"><br /></td> </tr> </tbody> </table> @@ -127,10 +154,17 @@ </ol> <p>Eclipse adds the following annotations to the field:</p> <pre xml:space="preserve" class="oac_no_warn"> -@JoinTable(joinColumns=@JoinColumn(name="<span class="italic"><JOIN_COLUMN></span>"), - name = "<span class="italic"><JOIN_TABLE_NAME></span>") -@ManyToOne(targetEntity=<span class="italic"><TARGET_ENTITY></span>, fetch=<span class="italic"><FETCH_TYPE></span>, - cascade=<span class="italic"><CASCADE_TYPE></span>) +@OneToMany(targetEntity=<span class="italic"><TARGET_ENTITY></span>) +@Column(name="<span class="italic"><COLUMN></span>") + + +@OneToMany(targetEntity=<span class="italic"><TARGET_ENTITY></span>.class, cascade=CascadeType.<span class="italic"><CASCADE_TYPE></span>, + fetch = FetchType.<span class="italic"><FETCH_TYPE></span>, mappedBy = "<span class="italic"><MAPPED_BY></span>")@OrderBy("<span class="italic"><ORDER_BY></span>") +@JoinTable(name="<span class="italic"><JOIN_TABLE_NAME></span>", joinColumns=@JoinColumn(name= + "<span class="italic"><JOIN_COLUMN_NAME></span>", referencedColumnName="<span class="italic"><JOIN_COLUMN_REFERENCED_COLUMN></span>"), + inverseJoinColumns=@JoinColumn(name="<span class="italic"><INVERSE_JOIN_COLUMN_NAME></span>", + referencedColumnName="<span class="italic"><INVERSE_JOIN_COLUMN_REFERENCED_COLUMN></span>")) + </pre> <p> </p> <img src="img/ngrelt.png" alt="Related task" title="Related task" /><br /> @@ -150,8 +184,11 @@ <!-- 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" width="86%"><a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Copyright © 2006, 2008, Oracle. All rights reserved.</span></a></td> +<td align="left"><span class="copyrightlogo">Copyright © 2006, 2009, Oracle and/or its affiliates. All rights reserved.</span><br /> +<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td> </tr> </table> </div> |