1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2<!--NewPage--> 3<HTML> 4<HEAD> 5<!-- Generated by javadoc (build 1.5.0) on Thu May 15 17:17:33 EDT 2008 --> 6<TITLE> 7SecondaryKey (Oracle - Berkeley DB Java API) 8</TITLE> 9 10<META NAME="keywords" CONTENT="com.sleepycat.persist.model.SecondaryKey class"> 11 12<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../style.css" TITLE="Style"> 13 14<SCRIPT type="text/javascript"> 15function windowTitle() 16{ 17 parent.document.title="SecondaryKey (Oracle - Berkeley DB Java API)"; 18} 19</SCRIPT> 20<NOSCRIPT> 21</NOSCRIPT> 22 23</HEAD> 24 25<BODY BGCOLOR="white" onload="windowTitle();"> 26 27 28<!-- ========= START OF TOP NAVBAR ======= --> 29<A NAME="navbar_top"><!-- --></A> 30<A HREF="#skip-navbar_top" title="Skip navigation links"></A> 31<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 32<TR> 33<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 34<A NAME="navbar_top_firstrow"><!-- --></A> 35<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 36 <TR ALIGN="center" VALIGN="top"> 37 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 38 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 39 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 40 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SecondaryKey.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> 41 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 42 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 43 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 44 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> 45 </TR> 46</TABLE> 47</TD> 48<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 49<b>Berkeley DB</b><br><font size="-1"> version 4.7.25</font></EM> 50</TD> 51</TR> 52 53<TR> 54<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 55 <A HREF="../../../../com/sleepycat/persist/model/Relationship.html" title="enum in com.sleepycat.persist.model"><B>PREV CLASS</B></A> 56 <A HREF="../../../../com/sleepycat/persist/model/SecondaryKeyMetadata.html" title="class in com.sleepycat.persist.model"><B>NEXT CLASS</B></A></FONT></TD> 57<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 58 <A HREF="../../../../index.html?com/sleepycat/persist/model/SecondaryKey.html" target="_top"><B>FRAMES</B></A> 59 <A HREF="SecondaryKey.html" target="_top"><B>NO FRAMES</B></A> 60 <SCRIPT type="text/javascript"> 61 <!-- 62 if(window==top) { 63 document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); 64 } 65 //--> 66</SCRIPT> 67<NOSCRIPT> 68 <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> 69</NOSCRIPT> 70 71 72</FONT></TD> 73</TR> 74<TR> 75<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 76 SUMMARY: <A HREF="#annotation_type_required_element_summary">REQUIRED</A> | <A HREF="#annotation_type_optional_element_summary">OPTIONAL</A></FONT></TD> 77<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 78DETAIL: <A HREF="#annotation_type_element_detail">ELEMENT</A></FONT></TD> 79</TR> 80</TABLE> 81<A NAME="skip-navbar_top"></A> 82<!-- ========= END OF TOP NAVBAR ========= --> 83 84<HR> 85<!-- ======== START OF CLASS DATA ======== --> 86<H2> 87<FONT SIZE="-1"> 88com.sleepycat.persist.model</FONT> 89<BR> 90Annotation Type SecondaryKey</H2> 91<HR> 92<DL> 93<DT><PRE><FONT SIZE="-1"><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation">@Documented</A> 94<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation">@Retention</A>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/annotation/Retention.html#value()" title="class or interface in java.lang.annotation">value</A>=<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/annotation/RetentionPolicy.html#RUNTIME" title="class or interface in java.lang.annotation">RUNTIME</A>) 95<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation">@Target</A>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/annotation/Target.html#value()" title="class or interface in java.lang.annotation">value</A>=<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/annotation/ElementType.html#FIELD" title="class or interface in java.lang.annotation">FIELD</A>) 96</FONT>public @interface <B>SecondaryKey</B></DL> 97</PRE> 98 99<P> 100Indicates a secondary key field of an entity class. The value of the 101 secondary key field is a unique or non-unique identifier for the entity and 102 is accessed via a <A HREF="../../../../com/sleepycat/persist/SecondaryIndex.html" title="class in com.sleepycat.persist"><CODE>SecondaryIndex</CODE></A>. 103 104 <p><code>SecondaryKey</code> may appear on any number of fields in an entity 105 class, subclasses and superclasses. For a secondary key field in the entity 106 class or one of its superclasses, all entity instances will be indexed by 107 that field (if it is non-null). For a secondary key field in an entity 108 subclass, only instances of that subclass will be indexed by that field (if 109 it is non-null).</p> 110 111 <p>If a secondary key field is null, the entity will not be indexed by that 112 key. In other words, the entity cannot be queried by that secondary key nor 113 can the entity be found by iterating through the secondary index.</p> 114 115 <p>For a given entity class and its superclasses and subclasses, no two 116 secondary keys may have the same name. By default, the field name 117 identifies the secondary key and the secondary index for a given entity 118 class. <A HREF="../../../../com/sleepycat/persist/model/SecondaryKey.html#name()"><CODE>name()</CODE></A> may be specified to override this default.</p> 119 120 <p>Using <A HREF="../../../../com/sleepycat/persist/model/SecondaryKey.html#relate()"><CODE>relate()</CODE></A>, instances of the entity class are related to 121 secondary keys in a many-to-one, one-to-many, many-to-many, or one-to-one 122 relationship. This required property specifies the <em>cardinality</em> of 123 each side of the relationship.</p> 124 125 <p>A secondary key may optionally be used to form a relationship with 126 instances of another entity class using <A HREF="../../../../com/sleepycat/persist/model/SecondaryKey.html#relatedEntity()"><CODE>relatedEntity()</CODE></A> and <A HREF="../../../../com/sleepycat/persist/model/SecondaryKey.html#onRelatedEntityDelete()"><CODE>onRelatedEntityDelete()</CODE></A>. This establishes <em>foreign key constraints</em> 127 for the secondary key.</p> 128 129 <p>The secondary key field type must be an array or collection type when a 130 <em>x-to-many</em> relationship is used or a singular type when an 131 <em>x-to-one</em> relationship is used; see <A HREF="../../../../com/sleepycat/persist/model/SecondaryKey.html#relate()"><CODE>relate()</CODE></A>.</p> 132 133 <p>The field type (or element type, when an array or collection type is 134 used) of a secondary key field must follow the same rules as for a <a href="PrimaryKey.html#keyTypes">primary key type</a>. The <a 135 href="PrimaryKey.html#sortOrder">key sort order</a> is also the same.</p> 136<P> 137 138<P> 139<HR> 140 141<P> 142<!-- =========== ANNOTATION TYPE REQUIRED MEMBER SUMMARY =========== --> 143 144<A NAME="annotation_type_required_element_summary"><!-- --></A> 145<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 146<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 147<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> 148<B>Required Element Summary</B></FONT></TH> 149</TR> 150<TR BGCOLOR="white" CLASS="TableRowColor"> 151<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 152<CODE> <A HREF="../../../../com/sleepycat/persist/model/Relationship.html" title="enum in com.sleepycat.persist.model">Relationship</A></CODE></FONT></TD> 153<TD><CODE><B><A HREF="../../../../com/sleepycat/persist/model/SecondaryKey.html#relate()">relate</A></B></CODE> 154 155<BR> 156 Defines the relationship between instances of the entity class and the 157 secondary keys.</TD> 158</TR> 159</TABLE> 160 <!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== --> 161 162<A NAME="annotation_type_optional_element_summary"><!-- --></A> 163<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 164<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 165<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> 166<B>Optional Element Summary</B></FONT></TH> 167</TR> 168<TR BGCOLOR="white" CLASS="TableRowColor"> 169<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 170<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD> 171<TD><CODE><B><A HREF="../../../../com/sleepycat/persist/model/SecondaryKey.html#name()">name</A></B></CODE> 172 173<BR> 174 Specifies the name of the key in order to use a name that is different 175 than the field name.</TD> 176</TR> 177<TR BGCOLOR="white" CLASS="TableRowColor"> 178<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 179<CODE> <A HREF="../../../../com/sleepycat/persist/model/DeleteAction.html" title="enum in com.sleepycat.persist.model">DeleteAction</A></CODE></FONT></TD> 180<TD><CODE><B><A HREF="../../../../com/sleepycat/persist/model/SecondaryKey.html#onRelatedEntityDelete()">onRelatedEntityDelete</A></B></CODE> 181 182<BR> 183 Specifies the action to take when a related entity is deleted having a 184 primary key value that exists as a secondary key value for this entity.</TD> 185</TR> 186<TR BGCOLOR="white" CLASS="TableRowColor"> 187<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 188<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A></CODE></FONT></TD> 189<TD><CODE><B><A HREF="../../../../com/sleepycat/persist/model/SecondaryKey.html#relatedEntity()">relatedEntity</A></B></CODE> 190 191<BR> 192 Specifies the entity to which this entity is related, for establishing 193 foreign key constraints.</TD> 194</TR> 195</TABLE> 196 197<P> 198 199<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== --> 200 201<A NAME="annotation_type_element_detail"><!-- --></A> 202<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 203<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 204<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> 205<B>Element Detail</B></FONT></TH> 206</TR> 207</TABLE> 208 209<A NAME="relate()"><!-- --></A><H3> 210relate</H3> 211<PRE> 212public abstract <A HREF="../../../../com/sleepycat/persist/model/Relationship.html" title="enum in com.sleepycat.persist.model">Relationship</A> <B>relate</B></PRE> 213<DL> 214<DD>Defines the relationship between instances of the entity class and the 215 secondary keys. 216 217 <p>The table below summarizes how to create all four variations of 218 relationships.</p> 219 <div> 220 <table border="yes"> 221 <tr><th>Relationship</th> 222 <th>Field type</th> 223 <th>Key type</th> 224 <th>Example</th> 225 </tr> 226 <tr><td><A HREF="../../../../com/sleepycat/persist/model/Relationship.html#ONE_TO_ONE"><CODE>Relationship.ONE_TO_ONE</CODE></A></td> 227 <td>Singular</td> 228 <td>Unique</td> 229 <td>A person record with a unique social security number 230 key.</td> 231 </tr> 232 <tr><td><A HREF="../../../../com/sleepycat/persist/model/Relationship.html#MANY_TO_ONE"><CODE>Relationship.MANY_TO_ONE</CODE></A></td> 233 <td>Singular</td> 234 <td>Duplicates</td> 235 <td>A person record with a non-unique employer key.</td> 236 </tr> 237 <tr><td><A HREF="../../../../com/sleepycat/persist/model/Relationship.html#ONE_TO_MANY"><CODE>Relationship.ONE_TO_MANY</CODE></A></td> 238 <td>Array/Collection</td> 239 <td>Unique</td> 240 <td>A person record with multiple unique email address keys.</td> 241 </tr> 242 <tr><td><A HREF="../../../../com/sleepycat/persist/model/Relationship.html#MANY_TO_MANY"><CODE>Relationship.MANY_TO_MANY</CODE></A></td> 243 <td>Array/Collection</td> 244 <td>Duplicates</td> 245 <td>A person record with multiple non-unique organization 246 keys.</td> 247 </tr> 248 </table> 249 </div> 250 251 <p>For a <em>many-to-x</em> relationship, the secondary index will 252 have non-unique keys; in other words, duplicates will be allowed. 253 Conversely, for <em>one-to-x</em> relationship, the secondary index 254 will have unique keys.</p> 255 256 <p>For a <em>x-to-one</em> relationship, the secondary key field is 257 singular; in other words, it may not be an array or collection type. 258 Conversely, for a <em>x-to-many</em> relationship, the secondary key 259 field must be an array or collection type. A collection type is any 260 implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util"><CODE>Collection</CODE></A>.</p> 261<P> 262<DD><DL> 263</DL> 264</DD> 265<DD><DL> 266</DL> 267</DL> 268<A NAME="relatedEntity()"><!-- --></A><H3> 269relatedEntity</H3> 270<PRE> 271public abstract <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> <B>relatedEntity</B></PRE> 272<DL> 273<DD>Specifies the entity to which this entity is related, for establishing 274 foreign key constraints. Values of this secondary key will be 275 constrained to the set of primary key values for the given entity class. 276 277 <p>The given class must be an entity class. This class is called the 278 <em>related entity</em> or <em>foreign entity</em>.</p> 279 280 <p>When a related entity class is specified, a check (foreign key 281 constraint) is made every time a new secondary key value is stored for 282 this entity, and every time a related entity is deleted.</p> 283 284 <p>Whenever a new secondary key value is stored for this entity, it is 285 checked to ensure it exists as a primary key value of the related 286 entity. If it does not, a <A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db"><CODE>DatabaseException</CODE></A> will be thrown 287 by the <A HREF="../../../../com/sleepycat/persist/PrimaryIndex.html" title="class in com.sleepycat.persist"><CODE>PrimaryIndex</CODE></A> <code>put</code> method.</p> 288 289 <p>Whenever a related entity is deleted and its primary key value exists 290 as a secondary key value for this entity, the action is taken that is 291 specified using the <A HREF="../../../../com/sleepycat/persist/model/SecondaryKey.html#onRelatedEntityDelete()"><CODE>onRelatedEntityDelete()</CODE></A> property.</p> 292 293 <p>Together, these two checks guarantee that a secondary key value for 294 this entity will always exist as a primary key value for the related 295 entity. Note, however, that a transactional store must be configured 296 to guarantee this to be true in the face of a crash; see <A HREF="../../../../com/sleepycat/persist/StoreConfig.html#setTransactional(boolean)"><CODE>StoreConfig.setTransactional(boolean)</CODE></A>.</p> 297<P> 298<DD><DL> 299</DL> 300</DD> 301<DD><DL> 302</DL> 303<DL> 304<DT><B>Default:</B><DD>void.class</DD> 305</DL> 306</DL> 307<HR> 308 309<A NAME="onRelatedEntityDelete()"><!-- --></A><H3> 310onRelatedEntityDelete</H3> 311<PRE> 312public abstract <A HREF="../../../../com/sleepycat/persist/model/DeleteAction.html" title="enum in com.sleepycat.persist.model">DeleteAction</A> <B>onRelatedEntityDelete</B></PRE> 313<DL> 314<DD>Specifies the action to take when a related entity is deleted having a 315 primary key value that exists as a secondary key value for this entity. 316 317 <p><em>Note:</em> This property only applies when <A HREF="../../../../com/sleepycat/persist/model/SecondaryKey.html#relatedEntity()"><CODE>relatedEntity()</CODE></A> 318 is specified to define the related entity.</p> 319 320 <p>The default action, <A HREF="../../../../com/sleepycat/persist/model/DeleteAction.html#ABORT"><CODE>ABORT</CODE></A>, means that a 321 <A HREF="../../../../com/sleepycat/db/DatabaseException.html" title="class in com.sleepycat.db"><CODE>DatabaseException</CODE></A> is thrown in order to abort the current 322 transaction.</p> 323 324 <p>If <A HREF="../../../../com/sleepycat/persist/model/DeleteAction.html#CASCADE"><CODE>CASCADE</CODE></A> is specified, then this 325 entity will be deleted also. This in turn could trigger further 326 deletions, causing a cascading effect.</p> 327 328 <p>If <A HREF="../../../../com/sleepycat/persist/model/DeleteAction.html#NULLIFY"><CODE>NULLIFY</CODE></A> is specified, then the 329 secondary key in this entity is set to null and this entity is updated. 330 If the key field type is singular, the field value is set to null; 331 therefore, to specify <code>NULLIFY</code> for a singular key field type, a 332 primitive wrapper type must be used instead of a primitive type. If the 333 key field type is an array or collection type, the key is deleted from 334 the array (the array is resized) or from the collection (using <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html#remove(java.lang.Object)" title="class or interface in java.util"><CODE>Collection.remove</CODE></A>).</p> 335<P> 336<DD><DL> 337</DL> 338</DD> 339<DD><DL> 340</DL> 341<DL> 342<DT><B>Default:</B><DD>ABORT</DD> 343</DL> 344</DL> 345<HR> 346 347<A NAME="name()"><!-- --></A><H3> 348name</H3> 349<PRE> 350public abstract <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>name</B></PRE> 351<DL> 352<DD>Specifies the name of the key in order to use a name that is different 353 than the field name. 354 355 <p>This is convenient when prefixes or suffices are used on field names. 356 For example:</p> 357 <pre class="code"> 358 class Person { 359 @SecondaryKey(relate=MANY_TO_ONE, relatedEntity=Person.class, name="parentSsn") 360 String m_parentSsn; 361 }</pre> 362 363 <p>It can also be used to uniquely name a key when multiple secondary 364 keys for a single entity class have the same field name. For example, 365 an entity class and its subclass may both have a field named 'date', 366 and both fields are used as secondary keys. The <code>name</code> property 367 can be specified for one or both fields to give each key a unique 368 name.</p> 369<P> 370<DD><DL> 371</DL> 372</DD> 373<DD><DL> 374</DL> 375<DL> 376<DT><B>Default:</B><DD>""</DD> 377</DL> 378</DL> 379<!-- ========= END OF CLASS DATA ========= --> 380<HR> 381 382 383<!-- ======= START OF BOTTOM NAVBAR ====== --> 384<A NAME="navbar_bottom"><!-- --></A> 385<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> 386<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 387<TR> 388<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 389<A NAME="navbar_bottom_firstrow"><!-- --></A> 390<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 391 <TR ALIGN="center" VALIGN="top"> 392 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 393 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 394 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 395 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SecondaryKey.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> 396 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 397 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 398 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 399 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> 400 </TR> 401</TABLE> 402</TD> 403<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 404<b>Berkeley DB</b><br><font size="-1"> version 4.7.25</font></EM> 405</TD> 406</TR> 407 408<TR> 409<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 410 <A HREF="../../../../com/sleepycat/persist/model/Relationship.html" title="enum in com.sleepycat.persist.model"><B>PREV CLASS</B></A> 411 <A HREF="../../../../com/sleepycat/persist/model/SecondaryKeyMetadata.html" title="class in com.sleepycat.persist.model"><B>NEXT CLASS</B></A></FONT></TD> 412<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 413 <A HREF="../../../../index.html?com/sleepycat/persist/model/SecondaryKey.html" target="_top"><B>FRAMES</B></A> 414 <A HREF="SecondaryKey.html" target="_top"><B>NO FRAMES</B></A> 415 <SCRIPT type="text/javascript"> 416 <!-- 417 if(window==top) { 418 document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); 419 } 420 //--> 421</SCRIPT> 422<NOSCRIPT> 423 <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> 424</NOSCRIPT> 425 426 427</FONT></TD> 428</TR> 429<TR> 430<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 431 SUMMARY: <A HREF="#annotation_type_required_element_summary">REQUIRED</A> | <A HREF="#annotation_type_optional_element_summary">OPTIONAL</A></FONT></TD> 432<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 433DETAIL: <A HREF="#annotation_type_element_detail">ELEMENT</A></FONT></TD> 434</TR> 435</TABLE> 436<A NAME="skip-navbar_bottom"></A> 437<!-- ======== END OF BOTTOM NAVBAR ======= --> 438 439<HR> 440<font size=1>Copyright (c) 1996,2008 Oracle. All rights reserved.</font> 441</BODY> 442</HTML> 443