<!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>JDOHelper</title>

    <link rel="icon" type="image/png" href="images/JDOx150.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:#f7f7f8}
.CodeRay .line-numbers{border-right:1px solid currentColor;opacity:.35;padding:0 .5em 0 0}
.CodeRay span.line-numbers{display:inline-block;margin-right:.75em}
.CodeRay .line-numbers strong{color:#000}
table.CodeRay{border-collapse:separate;border:0;margin-bottom:0;background:none}
table.CodeRay td{vertical-align:top;line-height:inherit}
table.CodeRay td.line-numbers{text-align:right}
table.CodeRay td.code{padding:0 0 0 .75em}
.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" width="45.5" height="45.5" src="images/JDOx150.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" style="background-color:#2385c6">API Usage<span class="caret"></span></a>
                  
                    <ul class="dropdown-menu">
                        <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 Plan/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><a href="jdohelper.html">JDO Helper</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="query_api.html">Query API</a></li>
                        <li role="separator" class="divider"></li>
                        <li><a href="jdoql.html">JDOQL</a></li>
                        <li><a href="jdoql_methods.html">Methods</a></li>
                        <li><a href="jdoql_result.html">Result</a></li>
                        <li><a href="jdoql_quickref.pdf">Quick Ref PDF</a></li>
                        <li><a href="jdoql_typed.html">JDOQL Typed API</a></li>
                        <li role="separator" class="divider"></li>
                        <li><a href="query_sql.html">SQL</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">
    
        <div class="row-fluid">
            <div class="col-sm-9">
<!--                <div class="page-title">
                    <h3>JDOHelper<a id="JDOHelper"></a></h3>
                </div>
-->
                <div id="doc-content">
                    <div class="sect1">
<h2 id="index">JDOHelper<a id="JDOHelper"></a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>JDO provides a standard utility that gives access to useful parts of the JDO persistence process.
This is known as <strong>JDOHelper</strong>
(javax.jdo.JDOHelper)<a href="api32/apidocs/javax/jdo/JDOHelper.html"><span class="image"><img src="images/javadoc.png" alt="image"></span></a></p>
</div>
<div class="sect2">
<h3 id="pmf">PersistenceManagerFactory methods</h3>
<div class="paragraph">
<p>The methods in JDOHelper can be split into categories.
Here we start with the methods for creating the starting point for persistence, the PersistenceManagerFactory (PMF)</p>
</div>
<div class="ulist">
<ul>
<li>
<p><strong>getPersistenceManagerFactory(Map props)</strong> - creates a PMF given a Map
of the properties</p>
</li>
<li>
<p><strong>getPersistenceManagerFactory(Map props, ClassLoader cl)</strong> - creates a
PMF given a Map of the properties, and a ClassLoader to use</p>
</li>
<li>
<p><strong>getPersistenceManagerFactory(String resource)</strong> - creates a PMF given
a resource defining the properties. This can be used to create a named
PMF in JDO2.1</p>
</li>
<li>
<p><strong>getPersistenceManagerFactory(String props, ClassLoader cl)</strong> - creates
a PMF given a resource defining the properties, and a ClassLoader to use</p>
</li>
<li>
<p><strong>getPersistenceManagerFactory(File props)</strong> - creates a PMF given a
file containing the properties</p>
</li>
<li>
<p><strong>getPersistenceManagerFactory(File props, ClassLoader cl)</strong> - creates a
PMF given a file containing the properties and a ClassLoader to use</p>
</li>
<li>
<p><strong>getPersistenceManagerFactory(String jndi, Context ctx)</strong> - creates a
PMF given a JNDI resource</p>
</li>
<li>
<p><strong>getPersistenceManagerFactory(String jndi, Context ctx, ClassLoader
cl)</strong> - creates a PMF given a JNDI resource and a ClassLoader to use</p>
</li>
<li>
<p><strong>getPersistenceManagerFactory(InputStream strm)</strong> - creates a PMF given
an InputStream</p>
</li>
<li>
<p><strong>getPersistenceManagerFactory(InputStream strm, ClassLoader cl)</strong> -
creates a PMF given an InputStream and a ClassLoader to use</p>
</li>
</ul>
</div>
<div class="paragraph">
<p><br></p>
</div>
</div>
<div class="sect2">
<h3 id="pm">Persistence methods</h3>
<div class="paragraph">
<p>Now we move onto the operations for persistence.</p>
</div>
<div class="ulist">
<ul>
<li>
<p><strong>getPersistenceManager(Object pc)</strong> - returns the PersistenceManager
associated with the passed object (if any)</p>
</li>
<li>
<p><strong>makeDirty(Object pc, String fieldName)</strong> - marks the field of the
passed object as dirty (meaning that it needs updating in its datastore)</p>
</li>
<li>
<p><strong>getObjectId(Object pc)</strong> - returns the object identity for the passed object (if persistent)</p>
</li>
<li>
<p><strong>getObjectIds(Collection pc)</strong> - returns the object identities for the passed objects (if persistent)</p>
</li>
<li>
<p><strong>getObjectIds(Object[] pc)</strong> - returns the object identities for the passed objects (if persistent)</p>
</li>
<li>
<p><strong>getVersion(Object pc)</strong> - returns the version for the passed object (if persistent)</p>
</li>
</ul>
</div>
<div class="paragraph">
<p><br></p>
</div>
</div>
<div class="sect2">
<h3 id="lifecycle">Lifecycle methods</h3>
<div class="paragraph">
<p>Now we move onto lifecycle operations</p>
</div>
<div class="ulist">
<ul>
<li>
<p><strong>getObjectState(Object pc)</strong> - returns the object state</p>
</li>
<li>
<p><strong>isDirty(Object pc)</strong> - returns whether the passed object is dirty</p>
</li>
<li>
<p><strong>isTransactional(Object pc)</strong> - returns whether the passed object is transactional</p>
</li>
<li>
<p><strong>isPersistent(Object pc)</strong> - returns whether the passed object is persistent</p>
</li>
<li>
<p><strong>isNew(Object pc)</strong> - returns whether the passed object is new</p>
</li>
<li>
<p><strong>isDeleted(Object pc)</strong> - returns whether the passed object is deleted</p>
</li>
<li>
<p><strong>isDetached(Object pc)</strong> - returns whether the passed object is detached</p>
</li>
</ul>
</div>
</div>
</div>
</div>
                </div>
            </div>
            <div class="col-sm-3">
                <nav id="toc" data-spy="affix" data-toggle="toc"></nav>
            </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>
              |
                          <a href="https://privacy.apache.org/policies/privacy-policy-public.html" title="Privacy Policy">Privacy Policy</a>
          </div>
      </div>
      <p class="text-center" style="margin-top:16px">&copy; 2005-2022 Apache Software Foundation. All Rights Reserved.</p>
  </div>
  </footer>

</body>
</html>