blob: 2f175d78db00b71ccb87f30a90f9b8d2852cff78 (
plain)
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
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Persistent Objects</title>
<link rel="stylesheet" href="gettingStarted.css" type="text/css" />
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
<link rel="start" href="index.html" title="Getting Started with Berkeley DB" />
<link rel="up" href="persist_first.html" title="Chapter 3. Direct Persistence Layer First Steps" />
<link rel="prev" href="persist_first.html" title="Chapter 3. Direct Persistence Layer First Steps" />
<link rel="next" href="saveret.html" title="Saving and Retrieving Data" />
</head>
<body>
<div xmlns="" class="navheader">
<div class="libver">
<p>Library Version 12.1.6.1</p>
</div>
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">Persistent Objects</th>
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="persist_first.html">Prev</a> </td>
<th width="60%" align="center">Chapter 3. Direct Persistence Layer First Steps</th>
<td width="20%" align="right"> <a accesskey="n" href="saveret.html">Next</a></td>
</tr>
</table>
<hr />
</div>
<div class="sect1" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both"><a id="persistobject"></a>Persistent Objects</h2>
</div>
</div>
</div>
<p>
When using the DPL, you store data in the underlying
DB databases by making objects
<span class="emphasis"><em>persistent</em></span>. You do this using Java
annotations that both identify the type of persistent
object you are declaring, as well as the primary and
secondary indices.
</p>
<p>
The following are the annotations you will use with your
DPL persistent classes:
</p>
<div class="informaltable">
<table border="1" width="80%">
<colgroup>
<col />
<col />
</colgroup>
<thead>
<tr>
<th>Annotation</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>@Entity</td>
<td>
Declares an entity class; that is, a class with a primary index
and optionally one or more indices.
</td>
</tr>
<tr>
<td>@Persistent</td>
<td>
Declares a persistent class; that is, a class used by an entity
class. They do not have indices but instead are are stored or
retrieved when an entity class makes direct use of them.
</td>
</tr>
<tr>
<td>@PrimaryKey</td>
<td>
Declares a specific data member in an entity class to be the
primary key for that object. This annotation must be used one
and only one time for every entity class.
</td>
</tr>
<tr>
<td>@SecondaryKey</td>
<td>
Declares a specific data member in an entity class to be a
secondary key for that object. This annotation is optional, and
can be used multiple times for an entity class.
</td>
</tr>
</tbody>
</table>
</div>
<p>
For example, the following is declared to be an entity class:
</p>
<pre class="programlisting">package persist.gettingStarted;
import com.sleepycat.persist.model.Entity;
import com.sleepycat.persist.model.PrimaryKey;
@Entity
public class ExampleEntity {
// The primary key must be unique in the database.
@PrimaryKey
private String aPrimaryKey;
@SecondaryKey(relate=MANY_TO_ONE)
private String aSecondaryKey;
...
// The remainder of the class' implementation is purposefully
// omitted in the interest of brevity.
...
} </pre>
<p>
We discuss primary and secondary keys in more detail in <a class="xref" href="persist_index.html" title="Chapter 4. Working with Indices">Working with Indices</a>.
</p>
</div>
<div class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"><a accesskey="p" href="persist_first.html">Prev</a> </td>
<td width="20%" align="center">
<a accesskey="u" href="persist_first.html">Up</a>
</td>
<td width="40%" align="right"> <a accesskey="n" href="saveret.html">Next</a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Chapter 3. Direct Persistence Layer First Steps </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
<td width="40%" align="right" valign="top"> Saving and Retrieving Data</td>
</tr>
</table>
</div>
</body>
</html>
|