| <!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> |
| <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" /> |
| <title>Many-to-many mapping</title> |
| <meta name="copyright" content="Copyright (c) 2000, 2009 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" /> |
| <meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 1.0.11" /> |
| <meta name="date" content="2013-04-05T12:21:34Z" /> |
| <meta name="robots" content="noarchive" /> |
| <meta name="doctitle" content="Many-to-many mapping" /> |
| <meta name="relnum" content="Release 3.3" /> |
| <meta name="partnum" content="Release 3.3" /> |
| <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" /> |
| </head> |
| <body> |
| <p><a id="BABEIEGD" name="BABEIEGD"></a></p> |
| <div class="sect2"><!-- infolevel="all" infotype="General" --> |
| <h1>Many-to-many mapping</h1> |
| <p><a id="sthref241" name="sthref241"></a><a id="sthref242" name="sthref242"></a><a id="sthref243" name="sthref243"></a><a id="sthref244" name="sthref244"></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> |
| <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-Many</span>. The <a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a> displays the properties for the selected field.</p> |
| <div class="figure"><a id="sthref245" name="sthref245"></a> |
| <p class="titleinfigure">JPA Details, Many to many mapping</p> |
| <img src="img/jpa_details.manytomany.png" alt="JPA Details, Primary key generation" title="JPA Details, Primary key generation" /><br /></div> |
| <!-- class="figure" --></li> |
| <li> |
| <p>Complete each field in the <a href="reference038.htm#CACIHGCE">Many-to-Many Mapping</a> area.</p> |
| </li> |
| <li> |
| <p>Use the Joining Strategy area to specify the join strategy (or table) for the mapping.</p> |
| <div class="figure"><a id="sthref246" name="sthref246"></a> |
| <p class="titleinfigure">JPA Details, Joining Strategy</p> |
| <img src="img/jpa_details_joiningstrategy.png" alt="JPA Details, Joining Strategy" title="JPA Details, Joining Strategy" /><br /></div> |
| <!-- class="figure" --></li> |
| <li> |
| <p>Complete each field in the <a href="reference047.htm#CACIJEGI">Joining Strategy</a> area.</p> |
| </li> |
| <li> |
| <p>Complete the remaining areas in the <a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a>.</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(=Type.<span class="italic"><_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>") |
| |
| </pre> |
| <a id="sthref247" name="sthref247"></a> |
| <p class="subhead2">Related tasks</p> |
| <ul> |
| <li> |
| <p><a href="task_mapping.htm#BABDGBIJ">Mapping an entity</a></p> |
| </li> |
| </ul> |
| <a id="sthref248" name="sthref248"></a> |
| <p class="subhead2">Related references</p> |
| <ul> |
| <li> |
| <p><a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a></p> |
| </li> |
| <li> |
| <p><a href="ref_persistence_map_view.htm#BABIFBAF">JPA Details view (for attributes)</a></p> |
| </li> |
| <li> |
| <p><a href="reference047.htm#CACIJEGI">Joining Strategy</a></p> |
| </li> |
| <li> |
| <p><a href="reference046.htm#CACBIJFD">Ordering</a></p> |
| </li> |
| <li> |
| <p><a href="reference053.htm#CIADGCID">Converters</a></p> |
| </li> |
| </ul> |
| <a id="sthref249" name="sthref249"></a> |
| <p class="subhead2">Related concepts</p> |
| <ul> |
| <li> |
| <p><a href="concept_mapping.htm#BABBDJFI">Understanding OR mappings</a></p> |
| </li> |
| <li> |
| <p><a href="concepts001.htm#BABBGFJG">Understanding Java Persistence API</a></p> |
| </li> |
| </ul> |
| </div> |
| <!-- class="sect2" --> |
| <!-- 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"><span class="copyrightlogo">Copyright © 2011, 2013, 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> |
| <!-- class="footer" --> |
| </body> |
| </html> |