Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: c23d06dfc5292f7e366afd91ebbf1a825a862417 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
<!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>

Back to the top