blob: 8c9a90b80942b8cb5146b6a675c95e14d819d264 [file] [log] [blame]
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- No caching headers -->
<meta http-equiv="cache-control" content="no-cache"/>
<meta http-equiv="pragma" content="no-cache"/>
<meta http-equiv="expires" content="-1"/>
<meta name="keywords" content="JDO, Apache, Java, Data, Objects"/>
<meta name="description" content="Apache JDO - Java Data Objects"/>
<title>About Apache JDO</title>
<link rel="icon" type="image/png" href="https://apache.github.io/db-jdo-site/images/JDO_32x32.png"/>
<!--
Apache JDO Documentation Template
==================================
This template derived various aspects from Apache Deltaspike template, the Apache ISIS template and the Datanucleus template.
This template uses
* Bootstrap v3.3.7 (https://getbootstrap.com/) for navbar.
* Asciidoctor "foundation" CSS
* Bootswatch "cosmo" theme for Bootstrap (https://bootswatch.com/cosmo).
* Bootstrap TOC plugin v0.4.1 (https://afeld.github.io/bootstrap-toc/) for the table of contents.
* jQuery (necessary for Bootstrap's JavaScript plugins)
* Font-Awesome for some icons used by Asciidoctor
NOTE: tried using Font-Awesome CSS hosted locally but then fails to work!
-->
<link href="css/bootswatch/3.3.7/bootstrap-cosmo.css" rel="stylesheet"/>
<link href="css/bootstrap-toc/0.4.1/bootstrap-toc.min.css" rel="stylesheet"/>
<link href="css/asciidoctor/foundation.css" rel="stylesheet"/>
<link href="css/datanucleus_theme.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="js/bootstrap/3.3.7/bootstrap.min.js"></script>
<script src="js/bootstrap-toc/0.4.1/bootstrap-toc.min.js"></script>
<!-- Coderay syntax formatter -->
<style type="text/css">
/* Stylesheet for CodeRay to match GitHub theme | MIT License | http://foundation.zurb.com */
/*pre.CodeRay {background-color:#f7f7f8;}*/
.CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em}
.CodeRay span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)}
.CodeRay .line-numbers strong{color:rgba(0,0,0,.4)}
table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none}
table.CodeRay td{vertical-align: top;line-height:1.45}
table.CodeRay td.line-numbers{text-align:right}
table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)}
table.CodeRay td.code{padding:0 0 0 .5em}
table.CodeRay td.code>pre{padding:0}
.CodeRay .debug{color:#fff !important;background:#000080 !important}
.CodeRay .annotation{color:#007}
.CodeRay .attribute-name{color:#000080}
.CodeRay .attribute-value{color:#700}
.CodeRay .binary{color:#509}
.CodeRay .comment{color:#998;font-style:italic}
.CodeRay .char{color:#04d}
.CodeRay .char .content{color:#04d}
.CodeRay .char .delimiter{color:#039}
.CodeRay .class{color:#458;font-weight:bold}
.CodeRay .complex{color:#a08}
.CodeRay .constant,.CodeRay .predefined-constant{color:#008080}
.CodeRay .color{color:#099}
.CodeRay .class-variable{color:#369}
.CodeRay .decorator{color:#b0b}
.CodeRay .definition{color:#099}
.CodeRay .delimiter{color:#000}
.CodeRay .doc{color:#970}
.CodeRay .doctype{color:#34b}
.CodeRay .doc-string{color:#d42}
.CodeRay .escape{color:#666}
.CodeRay .entity{color:#800}
.CodeRay .error{color:#808}
.CodeRay .exception{color:inherit}
.CodeRay .filename{color:#099}
.CodeRay .function{color:#900;font-weight:bold}
.CodeRay .global-variable{color:#008080}
.CodeRay .hex{color:#058}
.CodeRay .integer,.CodeRay .float{color:#099}
.CodeRay .include{color:#555}
.CodeRay .inline{color:#000}
.CodeRay .inline .inline{background:#ccc}
.CodeRay .inline .inline .inline{background:#bbb}
.CodeRay .inline .inline-delimiter{color:#d14}
.CodeRay .inline-delimiter{color:#d14}
.CodeRay .important{color:#555;font-weight:bold}
.CodeRay .interpreted{color:#b2b}
.CodeRay .instance-variable{color:#008080}
.CodeRay .label{color:#970}
.CodeRay .local-variable{color:#963}
.CodeRay .octal{color:#40e}
.CodeRay .predefined{color:#369}
.CodeRay .preprocessor{color:#579}
.CodeRay .pseudo-class{color:#555}
.CodeRay .directive{font-weight:bold}
.CodeRay .type{font-weight:bold}
.CodeRay .predefined-type{color:inherit}
.CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold}
.CodeRay .key{color:#808}
.CodeRay .key .delimiter{color:#606}
.CodeRay .key .char{color:#80f}
.CodeRay .value{color:#088}
.CodeRay .regexp .delimiter{color:#808}
.CodeRay .regexp .content{color:#808}
.CodeRay .regexp .modifier{color:#808}
.CodeRay .regexp .char{color:#d14}
.CodeRay .regexp .function{color:#404;font-weight:bold}
.CodeRay .string{color:#d20}
.CodeRay .string .string .string{background:#ffd0d0}
.CodeRay .string .content{color:#d14}
.CodeRay .string .char{color:#d14}
.CodeRay .string .delimiter{color:#d14}
.CodeRay .shell{color:#d14}
.CodeRay .shell .delimiter{color:#d14}
.CodeRay .symbol{color:#990073}
.CodeRay .symbol .content{color:#a60}
.CodeRay .symbol .delimiter{color:#630}
.CodeRay .tag{color:#008080}
.CodeRay .tag-special{color:#d70}
.CodeRay .variable{color:#036}
.CodeRay .insert{background:#afa}
.CodeRay .delete{background:#faa}
.CodeRay .change{color:#aaf;background:#007}
.CodeRay .head{color:#f8f;background:#505}
.CodeRay .insert .insert{color:#080}
.CodeRay .delete .delete{color:#800}
.CodeRay .change .change{color:#66f}
.CodeRay .head .head{color:#f4f}
</style>
</head>
<body data-spy="scroll" data-target="#toc">
<!-- Navbar -->
<nav class="navbar navbar-default navbar-static-top">
<div class="container">
<div class="navbar-header">
<!-- Three line menu button for use on mobile screens -->
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- 'style' added to align image with navbar. FIX THIS -->
<a class="navbar-brand" href="https://db.apache.org/jdo/">
<img style="margin-top: -12px;" alt="Brand" src="images/JDO_44x44.png"/>
</a>
<!-- TODO Any way to abstract the version from Maven? -->
<a class="navbar-brand" href="index.html">Apache JDO</a>
</div>
<!-- Navbar that will collapse on mobile screens -->
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="dropdown">
<!-- menu item General -->
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">General<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="why_jdo.html">Why JDO?</a></li>
<li><a href="getting-started.html">Getting Started</a></li>
<li><a href="specifications.html">Specifications</a></li>
<li><a href="tck.html">TCK</a></li>
<li><a href="javadoc.html">API Javadoc</a></li>
<li role="separator" class="divider"></li>
<li><a href="jdo_v_jpa.html">JDO v JPA</a></li>
<li><a href="jdo_v_jpa_api.html">JDO v JPA : API</a></li>
<li><a href="jdo_v_jpa_orm.html">JDO v JPA : ORM</a></li>
<li role="separator" class="divider"></li>
<li><a href="license.html">License</a></li>
<li><a href="impls.html">Implementations</a></li>
<li><a href="jdo_3_0_overview.html">JDO 3.0 Overview</a></li>
<li><a href="references.html">References</a></li>
<li><a href="glossary.html">Glossary</a></li>
</ul>
</li>
<!-- menu item API Usage -->
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">API Usage<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="jdohelper.html">JDO Helper</a></li>
<li><a href="pmf.html">PersistenceManagerFactory</a></li>
<li><a href="pm.html">PersistenceManager</a></li>
<li><a href="transactions.html">Transactions</a></li>
<li><a href="attach_detach.html">Attach-Detach</a></li>
<li><a href="fetchgroups.html">Fetch Groups</a></li>
<li><a href="state_transition.html">Object States</a></li>
<li><a href="object_retrieval.html">Object Retrieval</a></li>
<li><a href="exceptions.html">Exceptions</a></li>
<li role="separator" class="divider"></li>
<li><a href="guides-replication.html">Data Replication</a></li>
</ul>
</li>
<!-- menu item Types & Metadata -->
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Types &amp; Metadata<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="class_types.html">Types of Classes</a></li>
<li><a href="field_types.html">Types of Fields</a></li>
<li role="separator" class="divider"></li>
<!-- <li class="dropdown-header">Metadata</li> -->
<li><a href="metadata.html">MetaData</a></li>
<li><a href="annotations.html">Annotations</a></li>
<li><a href="jdo_dtd.html">jdo DTD/XSD</a></li>
<li><a href="orm_dtd.html">orm DTD/XSD</a></li>
<li><a href="jdoquery_dtd.html">jdoquery DTD/XSD</a></li>
<li><a href="jdoconfig_dtd.html">jdoconfig DTD/XSD</a></li>
<li role="separator" class="divider"></li>
<li><a href="enhancement.html">Bytecode Enhancement</a></li>
</ul>
</li>
<!-- menu item Query -->
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Query<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="jdoql.html">JDOQL</a></li>
<li><a href="jdoql_result.html">Result</a></li>
<li><a href="jdoql_methods.html">Methods</a></li>
<li><a href="jdoql_quickref.pdf">Quick Ref PDF</a></li>
<li role="separator" class="divider"></li>
<li><a href="extents.html">Extents</a></li>
</ul>
</li>
<!-- menu item Community -->
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Community<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="get-involved.html">Get Involved</a></li>
<li><a href="team-list.html">Project Team</a></li>
<li><a href="mail-lists.html">Mailing Lists</a></li>
<li><a href="faq.html">FAQ</a></li>
</ul>
</li>
<!-- menu item Development -->
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Development<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="roadmap.html">RoadMap / TODO</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="source-code.html">Source Code</a></li>
<li><a href="coding-standards.html">Coding Standards</a></li>
<li><a href="issuetracking.html">Issue Tracking</a></li>
</ul>
</li>
</ul>
<!-- 'style' added to fix height of input box. FIX THIS -->
<form class="navbar-form navbar-left" role="search" id="search-form" action="https://www.google.com/search" method="get" style="padding: 1px 15px;">
<div class="form-group">
<input name="sitesearch" value="db.apache.org/jdo" type="hidden">
<input name="q" type="text" class="form-control" placeholder="Search" style="margin-top: 7px; padding: 1px; border-radius: 5px; height: 30px; vertical-align: middle;">
</div>
</form>
</div>
</div>
</nav>
<div class="container">
<!-- No TOC -->
<div class="row-fluid">
<div class="col-sm-12">
<!-- no heading -->
<div id="doc-content">
<div id="index" class="paragraph">
<p><span class="image" style="float: left"><img src="images/JDOx100.png" alt="JDOx100"></span>
<span class="image" style="float: right"><img src="images/jdo_text.png" alt="jdo text"></span></p>
</div>
<hr>
<div class="sect1">
<h2 id="_about_apache_jdo_a_id_about_apache_jdo_a">About Apache JDO<a id="About_Apache_JDO"></a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Welcome to Apache JDO, a project of the <a href="http://db.apache.org/">Apache DB
project</a>. Our goal is a thriving community of users and developers of
object persistence technology.</p>
</div>
<div class="paragraph">
<p>Java Data Objects (JDO) is a standard way to access persistent data in
databases, using plain old Java objects (POJO) to represent persistent
data. The approach separates data manipulation (done by accessing Java
data members in the Java domain objects) from database manipulation
(done by calling the JDO interface methods). This separation of concerns
leads to a high degree of independence of the Java view of data from the
database view of the data.</p>
</div>
<div class="paragraph">
<p>Interfaces are defined for the user&#8217;s view of persistence:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>PersistenceManager: the component responsible for the life cycle of
persistent instances, Query factory, and Transaction access</p>
</li>
<li>
<p>Query: the component responsible for querying the datastore and
returning persistent instances or values</p>
</li>
<li>
<p>Transaction: the component responsible for initiating and completing
transactions</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>JDO is being developed as a Java Specification Request in the Java
Community Process. The original JDO 1.0 is
<a href="http://www.jcp.org/en/jsr/detail?id=12">JSR-12</a> and the current JDO 3.1
is <a href="http://www.jcp.org/en/jsr/detail?id=243">JSR-243</a>.</p>
</div>
<div class="paragraph">
<p>The Apache JDO project is focused on building the JDO API and the TCK
for compatibility testing of JDO implementations. Commercial and open
source implementations of JDO are available for relational databases,
object databases, and file systems. If you need an implementation for
building a JDO application, see <a href="impls.html">Implementations</a>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_jdo_news_a_id_jdo_news_a">JDO News<a id="JDO_News"></a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><strong>JDO 3.1 is released</strong><br></p>
</div>
<div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>JDO 3.1 has been released. This release contains minor bug fixes. For a
complete list of changes (features plus bug fixes) see
<a href="https://issues.apache.org/jira/browse/JDO/fixforversion/12325878">JDO 3.1
changes</a>. You can download the release from the
<a href="downloads.html">downloads page</a>. You can also use the new release in
maven projects simply by referencing the jdo-api artifact in your
pom.xml.</p>
</div>
</blockquote>
</div>
<div class="paragraph">
<p><strong>JDO 3.1-rc1 is released</strong><br></p>
</div>
<div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>JDO 3.1-rc1 has been released. This release contains minor bug fixes.
For a complete list of changes (features plus bug fixes) see
<a href="https://issues.apache.org/jira/browse/JDO/fixforversion/12314921">JDO
3.1-rc1 changes</a>. You can download the release from the
<a href="downloads.html">downloads page</a>. You can also use the new release in
maven projects simply by referencing the jdo-api artifact in your
pom.xml.</p>
</div>
</blockquote>
</div>
<div class="paragraph">
<p><strong>JDO 3.0.1 is released</strong><br></p>
</div>
<div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>JDO 3.0.1 has been released. This release contains minor bug fixes. For
a complete list of changes (features plus bug fixes) see
<a href="https://issues.apache.org/jira/browse/JDO/fixforversion/12317950">JDO
3.0.1 changes</a>. You can download the release from the
<a href="downloads.html">downloads page</a>. You can also use the new release in
maven projects simply by referencing the jdo-api artifact in your
pom.xml.</p>
</div>
</blockquote>
</div>
<div class="paragraph">
<p><strong>JDO 3.0 is released</strong><br></p>
</div>
<div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>JDO 3.0 has been released. This release contains significant new
features for better support of tooling and runtime: enhancer API,
dynamic class and metadata generation, locking, database timeouts, query
cancel, and exact object ids. For a complete list of changes (features
plus bug fixes) see
<a href="https://issues.apache.org/jira/browse/JDO/fixforversion/12313404">JDO 3.0
changes</a>. You can download the release from the
<a href="downloads.html">downloads page</a>. You can also use the new release in
maven projects simply by referencing the jdo-api artifact in your
pom.xml.</p>
</div>
</blockquote>
</div>
<div class="paragraph">
<p><strong>JDO 2.2 is released</strong><br></p>
</div>
<div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>JDO 2.2 is now available for download from the
<a href="downloads.html">downloads page</a>. The JDO 2.2 maintenance release
provides support for copyOnAttach control, dynamic fetch groups, level2
caching control via metadata. For details, see
<a href="http://jcp.org/aboutJava/communityprocess/maintenance/jsr243/243MR2.html">ChangeLog
for JSR-0243 JavaTM Data Objects 2.2</a></p>
</div>
</blockquote>
</div>
<div class="paragraph">
<p><strong>JDO 2.1.1 is released</strong><br></p>
</div>
<div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>JDO 2.1.1 is now available for download from the
<a href="downloads.html">downloads page</a>. This is a minor bug fix release.</p>
</div>
</blockquote>
</div>
<div class="paragraph">
<p><strong>JDO 2.1 is released</strong><br></p>
</div>
<div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>JDO 2.1 is now available for download from the
<a href="downloads.html">downloads page</a>. The JDO 2.1 maintenance release
provides support for JDK 1.5 features,including the use of annotations
as a means of specifying mapping. It also includes many corrections and
minor changes. For details, see
<a href="http://jcp.org/aboutJava/communityprocess/maintenance/jsr243/243ChangeLog.html">Change
Log for JSR-000243 JavaTM Data Objects 2.0</a></p>
</div>
</blockquote>
</div>
<div class="paragraph">
<p><strong>JDO 2.0 has been approved by the JCP</strong><br></p>
</div>
<div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>JDO 2.0 is now available for download from the
<a href="downloads.html">downloads page</a>. JDO 2.0 builds on JDO 1 and
includes many features requested by users:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Standard mapping from objects to relational databases</p>
</li>
<li>
<p>Multi-tier support without use of Data Transfer Objects</p>
</li>
<li>
<p>Improved query support including projections and aggregates</p>
</li>
<li>
<p>Stored queries in metadata</p>
</li>
<li>
<p>Deletion by query</p>
</li>
<li>
<p>Optimized fetching of object graphs without writing special queries</p>
</li>
<li>
<p>Extensive List and Map support</p>
</li>
<li>
<p>Lazy loading of large collections</p>
</li>
<li>
<p>Improved support for single-field primary keys</p>
</li>
<li>
<p>Object lifecycle event monitoring</p>
</li>
<li>
<p>Improved support for bidirectional relationships</p>
</li>
</ul>
</div>
</blockquote>
</div>
<div class="paragraph">
<p><strong>Java Community Process!</strong><br>
JDO is being developed under the Java Community Process. The Apache JDO
project is developing the API and the Technology Compatibility Kit for
the JDO standard.</p>
</div>
<div class="paragraph">
<p><strong>Users!</strong><br>
We&#8217;d love to have you involved. Check out the
<a href="http://wiki.apache.org/jdo">Wiki</a>. Check out the
<a href="http://www.jcp.org/en/jsr/detail?id=243">Specification</a>, which has been
approved. <a href="./get-involved.html">Get Involved</a>!</p>
</div>
<div class="paragraph">
<p><em>Archived articles are <a href="newshistory.html">here</a></em>.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<footer style="color:#fff; background-color:#222222; padding: 5px;">
<div class="container">
<div class="row" style="margin-top:25px">
<div class="col-sm" align="center">
<a href="https://www.facebook.com/JavaDataObjects" class="externalLink" title="Facebook">Facebook</a>
|
<a href="https://twitter.com/JavaDataObjects" class="externalLink" title="Twitter">Twitter</a>
|
<a href="http://wiki.apache.org/jdo" class="externalLink" title="Wiki">Wiki</a>
|
<a href="http://issues.apache.org/jira/secure/BrowseProject.jspa?id=10630" class="externalLink" title="Issue Tracker">Issue Tracker</a>
|
<a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
|
<a href="api31/apidocs/index.html" title="Latest Javadocs">Latest Javadocs</a>
</div>
</div>
<p class="text-center" style="margin-top:16px">&copy; 2005-2020 Apache Software Foundation. All Rights Reserved.</p>
</div>
</footer>
</body>
</html>