blob: 4249f730eaee40cea600d3e44a30d89c1825a7a3 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>javax.jdo (JDO API 3.2.1)</title>
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="javax.jdo (JDO API 3.2.1)";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Package</li>
<li><a href="../../javax/jdo/annotations/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?javax/jdo/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;javax.jdo</h1>
<div class="docSummary">
<div class="block">This package contains the JDO specification interfaces and classes.</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/AttributeConverter.html" title="interface in javax.jdo">AttributeConverter</a>&lt;A,D&gt;</td>
<td class="colLast">
<div class="block">Converts persistent attribute values (fields or properties) to different
values stored in the underlying datastore and vice versa.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/jdo/Constants.html" title="interface in javax.jdo">Constants</a></td>
<td class="colLast">
<div class="block">Constant values used in JDO.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/Extent.html" title="interface in javax.jdo">Extent</a>&lt;E&gt;</td>
<td class="colLast">
<div class="block">Instances of the <code>Extent</code> class represent the entire collection
of instances in the data store of the candidate class or interface
possibly including its subclasses or subinterfaces.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/jdo/FetchGroup.html" title="interface in javax.jdo">FetchGroup</a></td>
<td class="colLast">
<div class="block">FetchGroup represents a named fetch group for a specific class or
interface.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/FetchPlan.html" title="interface in javax.jdo">FetchPlan</a></td>
<td class="colLast">
<div class="block">Fetch groups are activated using methods on this interface.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/jdo/InstanceCallbacks.html" title="interface in javax.jdo">InstanceCallbacks</a></td>
<td class="colLast">
<div class="block">A <code>PersistenceCapable</code> class that provides callback methods for life
cycle events implements this interface.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/JDOEnhancer.html" title="interface in javax.jdo">JDOEnhancer</a></td>
<td class="colLast">
<div class="block">Interface for a JDO Enhancer.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/jdo/JDOQLTypedQuery.html" title="interface in javax.jdo">JDOQLTypedQuery</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">Interface for a type-safe refactorable JDOQL query, using a fluent API, based around expressions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/JDOQLTypedSubquery.html" title="interface in javax.jdo">JDOQLTypedSubquery</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">Interface for a type-safe subquery, using a fluent API.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/jdo/PersistenceManager.html" title="interface in javax.jdo">PersistenceManager</a></td>
<td class="colLast">
<div class="block"><code>PersistenceManager</code> is the primary interface for JDO-aware
application components.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/PersistenceManagerFactory.html" title="interface in javax.jdo">PersistenceManagerFactory</a></td>
<td class="colLast">
<div class="block">The <code>PersistenceManagerFactory</code> is the interface to use to obtain
<code>PersistenceManager</code> instances.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/jdo/Query.html" title="interface in javax.jdo">Query</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">The <code>Query</code> interface allows applications to obtain persistent
instances, values, and aggregate data from the data store.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/Transaction.html" title="interface in javax.jdo">Transaction</a></td>
<td class="colLast">
<div class="block">The JDO <code>Transaction</code> interface provides for initiation and
completion of transactions under user control.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/AttributeConverter.UseDefault.html" title="class in javax.jdo">AttributeConverter.UseDefault</a></td>
<td class="colLast">
<div class="block">Dummy converter to represent "use the implementation default for this type" when using annotations.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/jdo/Enhancer.html" title="class in javax.jdo">Enhancer</a></td>
<td class="colLast">
<div class="block">Main class to invoke a JDO Enhancer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/JDOHelper.html" title="class in javax.jdo">JDOHelper</a></td>
<td class="colLast">
<div class="block">This class can be used by a JDO-aware application to call the JDO behavior
of <code>PersistenceCapable</code> instances without declaring them to be
<code>PersistenceCapable</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/jdo/LegacyJava.html" title="class in javax.jdo">LegacyJava</a></td>
<td class="colLast">
<div class="block">This class provides wrapper implementations for the Java SecurityManager and AccessController classes
that were deprecated in Java 17/18.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/LegacyJava.SecurityManager.html" title="class in javax.jdo">LegacyJava.SecurityManager</a></td>
<td class="colLast">
<div class="block">The SecurityManager is only instantiated if it is not deprecated/removed in the Java API.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/ObjectState.html" title="enum in javax.jdo">ObjectState</a></td>
<td class="colLast">
<div class="block">This class defines the object states for JDO instances.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Exception Summary table, listing exceptions, and an explanation">
<caption><span>Exception Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Exception</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/JDOCanRetryException.html" title="class in javax.jdo">JDOCanRetryException</a></td>
<td class="colLast">
<div class="block">This is the base class for exceptions that can be retried.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/jdo/JDODataStoreException.html" title="class in javax.jdo">JDODataStoreException</a></td>
<td class="colLast">
<div class="block">This class represents data store exceptions that can be retried.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/JDODetachedFieldAccessException.html" title="class in javax.jdo">JDODetachedFieldAccessException</a></td>
<td class="colLast">
<div class="block">This class represents exceptions caused by access of an unloaded field while
the instance is detached.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/jdo/JDOEnhanceException.html" title="class in javax.jdo">JDOEnhanceException</a></td>
<td class="colLast">
<div class="block">Exception thrown when an error occurs during enhancement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/JDOException.html" title="class in javax.jdo">JDOException</a></td>
<td class="colLast">
<div class="block">This is the root of all JDO Exceptions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/jdo/JDOFatalDataStoreException.html" title="class in javax.jdo">JDOFatalDataStoreException</a></td>
<td class="colLast">
<div class="block">This class represents data store exceptions that cannot be retried.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/JDOFatalException.html" title="class in javax.jdo">JDOFatalException</a></td>
<td class="colLast">
<div class="block">This class represents exceptions that are fatal; that is, the condition
that caused it cannot be bypassed even if the operation is retried.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/jdo/JDOFatalInternalException.html" title="class in javax.jdo">JDOFatalInternalException</a></td>
<td class="colLast">
<div class="block">This class represents errors in the implementation for which no user
error handling is possible.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/JDOFatalUserException.html" title="class in javax.jdo">JDOFatalUserException</a></td>
<td class="colLast">
<div class="block">This class represents user errors that cannot be retried.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/jdo/JDONullIdentityException.html" title="class in javax.jdo">JDONullIdentityException</a></td>
<td class="colLast">
<div class="block">An instance of this class is thrown when attempting to create an object id
when the object id constructor parameter is null.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/JDOObjectNotFoundException.html" title="class in javax.jdo">JDOObjectNotFoundException</a></td>
<td class="colLast">
<div class="block">This class represents exceptions caused by the user accessing
an object that does not exist in the datastore.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/jdo/JDOOptimisticVerificationException.html" title="class in javax.jdo">JDOOptimisticVerificationException</a></td>
<td class="colLast">
<div class="block">This class represents optimistic verification failures.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/JDOQueryInterruptedException.html" title="class in javax.jdo">JDOQueryInterruptedException</a></td>
<td class="colLast">
<div class="block">This class represents exceptions caused when a query is cancelled by a user calling
Query.cancel().</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/jdo/JDOReadOnlyException.html" title="class in javax.jdo">JDOReadOnlyException</a></td>
<td class="colLast">
<div class="block">This class represents exceptions caused by an attempt to update a datastore
when the PMF was created as "read-only".</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/JDOUnsupportedOptionException.html" title="class in javax.jdo">JDOUnsupportedOptionException</a></td>
<td class="colLast">
<div class="block">This class represents exceptions caused by the use of optional features
not supported by the JDO implementation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/jdo/JDOUserCallbackException.html" title="class in javax.jdo">JDOUserCallbackException</a></td>
<td class="colLast">
<div class="block">This class represents exceptions caused by exceptions thrown
during execution of callbacks or listeners.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/jdo/JDOUserException.html" title="class in javax.jdo">JDOUserException</a></td>
<td class="colLast">
<div class="block">This class represents user errors that can possibly be retried.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!-- -->
</a>
<h2 title="Package javax.jdo Description">Package javax.jdo Description</h2>
<div class="block">This package contains the JDO specification interfaces and classes.
<P>There are two major objectives of the JDO architecture:
first, to provide application programmers a transparent,
Java-centric view of persistent information, including enterprise data
and locally stored data; and second, to enable pluggable implementations
of data stores into
application servers. Data stored in data stores is presented as
instances of persistence-capable classes.
<P>JDO defines interfaces and classes to be used by application programmers
when using classes whose instances are to be stored in persistent storage
(persistence-capable classes), and specifies the contracts between
suppliers of persistence-capable classes and the
runtime environment (which is part of the JDO implementation).
<P>The JDO architecture defines a standard set of contracts between an
application programmer and an JDO vendor. These contracts focus on the
view of the Java instances of persistence capable classes.
<P>The JDO PersistenceManagerFactory is the boostrap class for a JDO
application. The application gets an instance of the
PersistenceManagerFactory by construction or via JDNI lookup.
<P>The application acquires an instance of the JDO PersistenceManager by
calling the getPersistenceManager method on an instance of JDO
PersistenceManagerFactory.
<P>The JDO PersistenceManager is the primary interface for JDO-aware
application components:
<ul>
<li>it gives access to the current Transaction interface;
<li>it is the factory for the Query interface;
<li>it contains methods for managing the life cycle of persistent instances.
</ul>
<P>A JDO PersistenceManager instance supports any number of JDO instances
at a time. It is responsible for managing the identity of its
associated JDO instances. A JDO instance is associated with either
zero or one JDO PersistenceManager. It will be zero if and only if the
JDO instance is transient nontransactional. As soon as the instance is made persistent
or transactional, it will be associated with exactly one JDO PersistenceManager.
<P>A JDO PersistenceManager instance supports one transaction at a time,
and uses one connection to the underlying data source at a time. The JDO
PersistenceManager instance might use multiple transactions serially,
and might use multiple connections serially.
<P>Normally, cache management is automatic and transparent. When instances
are queried, navigated to, or modified, instantiation of instances and
their fields and garbage collection of unreferenced instances occurs
without any explicit control. When the transaction in which persistent
instances are created, deleted, or modified commits, eviction is
automatically done by the transaction completion mechanisms.
<P>Operations on persistent JDO instances at the user's choice might be
performed in the context of a transaction. That is, the view of data
in the data store is transactionally consistent, according to the
standard definition of ACID transactions.
<P>The Transaction interface is used to mark the beginning and end of a
application-defined unit of work. The PersistenceManager allows the
application to get the instance that manages these transactional
boundaries via the currentTransaction method.
<P>The persistent manager instance is a factory for query instances,
and queries are executed in the context of the persistent manager instance.
The actual query execution might be performed by the JDO PersistenceManager
or might be delegated by the JDO PersistenceManager to its data store.
The actual query executed thus might be implemented in a very different
language from Java, and might be optimized to take advantage of particular
query language implementations.
<P>Extents are collections of data store objects managed by the data store,
not by explicit user operations on collections. Extent capability is a
boolean property of classes that are persistence capable. If an instance
of a class that has a managed extent is made persistent via reachability,
the instance is put into the extent implicitly.</div>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Package</li>
<li><a href="../../javax/jdo/annotations/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?javax/jdo/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2005&#x2013;2022 <a href="http://www.apache.org">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>