blob: c23d06dfc5292f7e366afd91ebbf1a825a862417 [file] [log] [blame]
<!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>Basic 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:45Z" />
<meta name="robots" content="noarchive" />
<meta name="doctitle" content="Basic 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" />
<!-- contents -->
</head>
<body>
<p><a id="BABBABCE" name="BABBABCE"></a></p>
<div class="sect2"><!-- infolevel="all" infotype="General" -->
<h1>Basic mapping</h1>
<p><a id="sthref113" name="sthref113"></a><a id="sthref114" name="sthref114"></a><a id="sthref115" name="sthref115"></a><a id="sthref116" name="sthref116"></a>Use a <span class="bold">Basic Mapping</span> to map an attribute directly to a database column. Basic mappings may be used only with the following attribute types:</p>
<ul>
<li>
<p>Java primitive types and wrappers of the primitive types</p>
</li>
<li>
<p><code>java.lang.String, java.math.BigInteger</code></p>
</li>
<li>
<p><code>java.math.BigDecimal</code></p>
</li>
<li>
<p><code>java.util.Date</code></p>
</li>
<li>
<p><code>java.util.Calendar, java.sql.Date</code></p>
</li>
<li>
<p><code>java.sql.Time</code></p>
</li>
<li>
<p><code>java.sql.Timestamp</code></p>
</li>
<li>
<p><code>byte[]</code></p>
</li>
<li>
<p><code>Byte[]</code></p>
</li>
<li>
<p><code>char[]</code></p>
</li>
<li>
<p><code>Character[]</code></p>
</li>
<li>
<p>enums</p>
</li>
<li>
<p>any other type that implements <code>Serializable</code></p>
</li>
</ul>
<p>To create a basic mapping:</p>
<ol>
<li>
<p>In the <a href="ref_persistence_outline.htm#BABEGGFE">JPA Structure view</a>, right-click the field to map. Select <span class="bold">Map As &gt; Basic</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 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">
<col width="19%" />
<col width="*" />
<col width="41%" />
<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">Entity Map Hyperlink</td>
<td align="left" headers="r2c1-t14 r1c2-t14">Defines this mapping as a <span class="bold">Basic Mapping</span>.
<p>This corresponds to the <code>@Basic</code> annotation.</p>
</td>
<td align="left" headers="r2c1-t14 r1c3-t14">Basic</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r3c1-t14" headers="r1c1-t14">Column</td>
<td align="left" headers="r3c1-t14 r1c2-t14">The database column mapped to the entity attribute. See <a href="ref_mapping_general.htm#CACGCBHB">"Column"</a> for details.</td>
<td align="left" headers="r3c1-t14 r1c3-t14">By default, the Column is assumed to be named identically to the attribute and always included in the <code>INSERT</code> and <code>UPDATE</code> statements.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r4c1-t14" headers="r1c1-t14">Table</td>
<td align="left" headers="r4c1-t14 r1c2-t14">Name of the database table.</td>
<td align="left" headers="r4c1-t14 r1c3-t14"><br /></td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r5c1-t14" headers="r1c1-t14">Fetch</td>
<td align="left" headers="r5c1-t14 r1c2-t14">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="r5c1-t14 r1c3-t14">Eager</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r6c1-t14" headers="r1c1-t14">Optional</td>
<td align="left" headers="r6c1-t14 r1c2-t14">Specifies if this field is can be null.</td>
<td align="left" headers="r6c1-t14 r1c3-t14">Yes</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r7c1-t14" headers="r1c1-t14">Temporal</td>
<td align="left" headers="r7c1-t14 r1c2-t14">Specifies the type of data. See <a href="ref_mapping_general.htm#CACEAJGD">"Temporal"</a> for details.
<ul>
<li>
<p>Date</p>
</li>
<li>
<p>Time</p>
</li>
<li>
<p>Timestamp</p>
</li>
</ul>
</td>
<td align="left" headers="r7c1-t14 r1c3-t14"><br /></td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r8c1-t14" headers="r1c1-t14">Lob</td>
<td align="left" headers="r8c1-t14 r1c2-t14">Specifies if this is a large objects (BLOB or CLOB). See <a href="ref_mapping_general.htm#CACBBIBI">"Lob"</a> for details.</td>
<td align="left" headers="r8c1-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">
@Column(name="<span class="italic">&lt;COLUMN_NAME&gt;</span>", table="<span class="italic">&lt;COLUMN_TABLE&gt;</span>",
insertable=<span class="italic">&lt;INSERTABLE&gt;</span>, updatable=<span class="italic">&lt;UPDATABLE&gt;</span>)
@Basic(fetch=FetchType.<span class="italic">&lt;FETCH_TYPE&gt;</span>, optional = <span class="italic">&lt;OPTIONAL&gt;</span>)
@Temporal(TemporalType.<span class="italic">&lt;TEMPORAL&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%">
<col width="86%" />
<col width="*" />
<tr>
<td align="left"><span class="copyrightlogo">Copyright&nbsp;&copy;&nbsp;2006, 2009,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</span><br />
<a href="dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td>
</tr>
</table>
</div>
<!-- class="footer" -->
</body>
</html>