diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.doc.user/tasks011.htm')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.doc.user/tasks011.htm | 123 |
1 files changed, 29 insertions, 94 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.doc.user/tasks011.htm b/jpa/plugins/org.eclipse.jpt.doc.user/tasks011.htm index 8d7932a37f..8180e69b37 100644 --- a/jpa/plugins/org.eclipse.jpt.doc.user/tasks011.htm +++ b/jpa/plugins/org.eclipse.jpt.doc.user/tasks011.htm @@ -2,147 +2,82 @@ "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" /> +<!-- Run date = May 21, 2008 14:42:05 --> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -<title>Many-to-many mapping</title> +<title>Embedded 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="Many-to-many mapping" /> -<meta name="relnum" content="M5 - Release 2.0.0" /> -<meta name="partnum" content="" /> +<meta name="doctitle" content="Embedded mapping" /> +<meta name="relnum" content="Release 2.0" /> +<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" /> <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="BABEIEGD" name="BABEIEGD"></a></p> +<p><a id="BABCBHDF" name="BABCBHDF"></a></p> <div class="sect2"><!-- infolevel="all" infotype="General" --> -<h1>Many-to-many mapping</h1> -<p><a id="sthref130" name="sthref130"></a><a id="sthref131" name="sthref131"></a><a id="sthref132" name="sthref132"></a><a id="sthref133" name="sthref133"></a>Use a <span class="bold">Many-to-Many Mapping</span> to define a many-valued association with many-to-many multiplicity. A many-to-many mapping has two sides: the <span class="italic">owning side</span> and <span class="italic">non-owning side</span>. You must specify the join table on the owning side. For bidirectional mappings, either side may be the owning side.</p> +<h1>Embedded mapping</h1> +<p><a id="sthref99" name="sthref99"></a><a id="sthref100" name="sthref100"></a><a id="sthref101" name="sthref101"></a><a id="sthref102" name="sthref102"></a>Use an <span class="bold">Embedded Mapping</span> to specify a persistent field or property of an entity whose value is an instance of an embeddable class.</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> +<p>In the <a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a>, right-click the field to map.</p> </li> <li> -<p>In the <span class="gui-object-title">Map As</span> field, select <span class="gui-object-action">Many-to-Many</span>.</p> +<p>Select <span class="bold">Map as > Embedded</span>. The <a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a> displays the properties for the selected field.</p> </li> <li> -<p>Use this table to complete the <a href="ref_mapping_general.htm#CACBHFIJ">General information</a> fields of the <span class="gui-object-title">JPA Details</span> view.</p> +<p>Use this table to complete the remaining fields on 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-t9">Property</th> -<th align="left" valign="bottom" id="r1c2-t9">Description</th> -<th align="left" valign="bottom" id="r1c3-t9">Default</th> +<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-t9" headers="r1c1-t9">Map As</td> -<td align="left" headers="r2c1-t9 r1c2-t9">Defines this mapping as a <span class="bold">Many to Many Mapping</span>. -<p>This field corresponds to the <code>@ManyToMany</code> annotation.</p> +<td align="left" id="r2c1-t16" headers="r1c1-t16">Entity Mapping Hyperlnk</td> +<td align="left" headers="r2c1-t16 r1c2-t16">Defines this mapping as a <span class="bold">Embedded</span>. +<p>This corresponds to the <code>@Embedded</code> annotation.</p> </td> -<td align="left" headers="r2c1-t9 r1c3-t9">Many to Many</td> +<td align="left" headers="r2c1-t16 r1c3-t16">Embedded</td> </tr> <tr align="left" valign="top"> -<td align="left" id="r3c1-t9" headers="r1c1-t9">Target Entity</td> -<td align="left" headers="r3c1-t9 r1c2-t9">The entity to which this attribute is mapped.</td> -<td align="left" headers="r3c1-t9 r1c3-t9">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-t16" headers="r1c1-t16">Attribute Overrides</td> +<td align="left" headers="r3c1-t16 r1c2-t16">Specify to override the default mapping of an entity's attribute. Select <span class="bold">Override Default</span>.</td> +<td align="left" headers="r3c1-t16 r1c3-t16"><br /></td> </tr> <tr align="left" valign="top"> -<td align="left" id="r4c1-t9" headers="r1c1-t9">Fetch</td> -<td align="left" headers="r4c1-t9 r1c2-t9">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-t16" headers="r1c1-t16">Columns</td> +<td align="left" headers="r4c1-t16 r1c2-t16">The database column (and its table) mapped to the entity attribute. See <a href="ref_mapping_general.htm#CACGCBHB">"Column"</a> for details. <ul> <li> -<p>Eager</p> +<p>Name – Name of the database column.</p> </li> <li> -<p>Lazy</p> +<p>Table – Name of the database table.</p> </li> </ul> </td> -<td align="left" headers="r4c1-t9 r1c3-t9">Lazy</td> -</tr> -<tr align="left" valign="top"> -<td align="left" id="r5c1-t9" headers="r1c1-t9">Mapped By</td> -<td align="left" headers="r5c1-t9 r1c2-t9">The database field that owns the relationship.</td> -<td align="left" headers="r5c1-t9 r1c3-t9"><br /></td> -</tr> -<tr align="left" valign="top"> -<td align="left" id="r6c1-t9" headers="r1c1-t9">Order By</td> -<td align="left" headers="r6c1-t9 r1c2-t9">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="r6c1-t9 r1c3-t9">No ordering</td> -</tr> -</tbody> -</table> -<br /></div> -<!-- class="inftblruleinformal" --></li> -<li> -<p>Use this table to complete the fields in the <a href="reference007.htm#CACBAEBC">Join Table Information</a> area 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 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-t10">Property</th> -<th align="left" valign="bottom" id="r1c2-t10">Description</th> -<th align="left" valign="bottom" id="r1c3-t10">Default</th> -</tr> -</thead> -<tbody> -<tr align="left" valign="top"> -<td align="left" id="r2c1-t10" headers="r1c1-t10">Name</td> -<td align="left" headers="r2c1-t10 r1c2-t10">Name of the join table that contains the foreign key column.</td> -<td align="left" headers="r2c1-t10 r1c3-t10">You must specify the join table on the owning side. -<p>By default, the name is assumed to be the primary tables associated with the entities concatenated with an underscore.</p> -</td> -</tr> -<tr align="left" valign="top"> -<td align="left" id="r3c1-t10" headers="r1c1-t10">Join Columns</td> -<td align="left" headers="r3c1-t10 r1c2-t10">Select <span class="bold">Override Default</span>, then Add, Edit, or Remove the join columns.</td> -<td align="left" headers="r3c1-t10 r1c3-t10">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="r4c1-t10" headers="r1c1-t10">Inverse Join Columns</td> -<td align="left" headers="r4c1-t10 r1c2-t10">Select <span class="bold">Override Default</span>, then Add, Edit, or Remove the join columns.</td> -<td align="left" headers="r4c1-t10 r1c3-t10">By default, the mapping is assumed to have a single join.</td> +<td align="left" headers="r4c1-t16 r1c3-t16"><br /></td> </tr> </tbody> </table> <br /></div> <!-- class="inftblruleinformal" --></li> -<li> -<p>To add a new Join or Inverse Join Column, click <span class="gui-object-action">Add</span>.</p> -<p>To edit an existing Join or Inverse Join Column, select the field to and click <span class="gui-object-action">Edit</span>.</p> -</li> </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>") -@ManyToMany(cascade=CascadeType.<span class="italic"><CASCADE_TYPE></span>, fetch=FetchType.<span class="italic"><FETCH_TYPE></span>, - targetEntity=<span class="italic"><TARGET_ENTITY></span>, mappedBy = "<span class="italic"><MAPPED_BY></span>") -@OrderBy("<span class="italic"><ORDER_BY></span>") - +@Embedded +@AttributeOverride(column=@Column(table="<span class="italic"><COLUMN_TABLE></span>", name = "<span class="italic"><COLUMN_NAME></span>")) </pre> <p> </p> <img src="img/ngrelt.png" alt="Related task" title="Related task" /><br /> |