openjpa-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] OpenJPA > JPA 2.0 Roadmap
Date Mon, 09 Nov 2009 21:27:00 GMT
<html>
<head>
    <base href="http://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/1519/1/1/_/styles/combined.css?spaceKey=openjpa&amp;forWysiwyg=true" type="text/css">
    </head>
<body style="background-color: white" bgcolor="white">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
     <h2><a href="http://cwiki.apache.org/confluence/display/openjpa/JPA+2.0+Roadmap">JPA 2.0 Roadmap</a></h2>
     <h4>Page <b>edited</b> by             <a href="http://cwiki.apache.org/confluence/display/~techhusky">Jeremy Bauer</a>
    </h4>
     Augmented I12 Summary
          <div id="versionComment" class="noteMacro" style="display:none; padding: 5px;">
     Augmented I12 Summary<br />
     </div>
          <br/>
     <div class="notificationGreySide">
         <h1><a name="JPA2.0Roadmap-JPA2.0RoadMap"></a>JPA 2.0 Road Map</h1>

<p>Apache OpenJPA 2.0.0 is being developed in trunk and will be a JPA 2.0 certified release of the <a href="http://jcp.org/en/jsr/detail?id=317" rel="nofollow">JSR-317</a> specification.</p>

<h3><a name="JPA2.0Roadmap-DevelopmentProcess"></a>Development Process</h3>

<p>The process that OpenJPA will be following for developing JPA 2.0 functionality is documented <a href="/confluence/display/openjpa/JPA+2.0+Development+Process" title="JPA 2.0 Development Process">here</a>.  The specific roadmap and iteration details will be documented on this Roadmap page.</p>

<h3><a name="JPA2.0Roadmap-TestCoverage"></a>Test Coverage</h3>

<p>For a list of databases being tested and current status, checkout the <a href="/confluence/display/openjpa/JPA+2.0+Test+Coverage" title="JPA 2.0 Test Coverage">JPA 2.0 Test Coverage</a> page.</p>

<h3><a name="JPA2.0Roadmap-Presentations"></a>Presentations</h3>

<p>Take a look at the <a href="/confluence/display/openjpa/JPA+2.0+Presentations" title="JPA 2.0 Presentations">JPA 2.0 Presentations</a> page for more details on the major new features of the JPA 2.0 specification and how they are being implemented in OpenJPA.</p>

<h2><a name="JPA2.0Roadmap-IterationScheduleandContent"></a>Iteration Schedule and Content</h2>

<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><ul>
	<li><a href="#JPA2.0Roadmap-Milestone1">Milestone 1</a>
	<ul>
		<li><a href="#JPA2.0Roadmap-Iteration1">Iteration 1</a> (Dec. 1, 2008 - Dec. 19, 2008) - <a href="https://issues.apache.org/jira/browse/OPENJPA-800" rel="nofollow">OPENJPA-800</a></li>
		<li><a href="#JPA2.0Roadmap-Iteration1a">Iteration 1a</a> (Dec. 22, 2008 - Jan. 2, 2009) - <a href="https://issues.apache.org/jira/browse/OPENJPA-831" rel="nofollow">OPENJPA-831</a></li>
		<li><a href="#JPA2.0Roadmap-Iteration2">Iteration 2</a> (Jan. 5, 2009 - Jan. 23, 2009) - <a href="https://issues.apache.org/jira/browse/OPENJPA-807" rel="nofollow">OPENJPA-807</a></li>
	</ul>
	</li>
	<li><a href="#JPA2.0Roadmap-Milestone2">Milestone 2</a>
	<ul>
		<li><a href="#JPA2.0Roadmap-Iteration3">Iteration 3</a> (Jan. 26, 2009 - Feb. 13, 2009) - <a href="https://issues.apache.org/jira/browse/OPENJPA-808" rel="nofollow">OPENJPA-808</a></li>
		<li><a href="#JPA2.0Roadmap-Iteration4">Iteration 4</a> (Feb. 16, 2009 - Mar. 6, 2009) - <a href="https://issues.apache.org/jira/browse/OPENJPA-875" rel="nofollow">OPENJPA-875</a></li>
		<li><a href="#JPA2.0Roadmap-Iteration5">Iteration 5</a> (Mar. 9, 2009 - Apr. 3, 2009) - <a href="https://issues.apache.org/jira/browse/OPENJPA-956" rel="nofollow">OPENJPA-956</a></li>
		<li><a href="#JPA2.0Roadmap-Iteration6">Iteration 6</a> (Apr. 6, 2009 - May 1, 2009) - <a href="https://issues.apache.org/jira/browse/OPENJPA-1007" rel="nofollow">OPENJPA-1007</a></li>
		<li><a href="#JPA2.0Roadmap-Iteration7">Iteration 7</a> (May 4, 2009 - May 29, 2009) - <a href="https://issues.apache.org/jira/browse/OPENJPA-1052" rel="nofollow">OPENJPA-1052</a></li>
	</ul>
	</li>
	<li><a href="#JPA2.0Roadmap-Milestone3">Milestone 3</a>
	<ul>
		<li><a href="#JPA2.0Roadmap-Iteration8">Iteration 8</a> (June 1, 2009 - July 3, 2009) - <a href="https://issues.apache.org/jira/browse/OPENJPA-1105" rel="nofollow">OPENJPA-1105</a></li>
		<li><a href="#JPA2.0Roadmap-Iteration9">Iteration 9</a> (July 6, 2009 - July 31, 2009) - <a href="https://issues.apache.org/jira/browse/OPENJPA-1152" rel="nofollow">OPENJPA-1152</a></li>
		<li><a href="#JPA2.0Roadmap-Iteration10">Iteration 10</a> (Aug. 3, 2009 - Aug. 28, 2009) - <a href="https://issues.apache.org/jira/browse/OPENJPA-1209" rel="nofollow">OPENJPA-1209</a></li>
		<li><a href="#JPA2.0Roadmap-Iteration11">Iteration 11</a> (Aug. 31, 2009 - Oct. 2, 2009) - <a href="https://issues.apache.org/jira/browse/OPENJPA-1268" rel="nofollow">OPENJPA-1268</a></li>
	</ul>
	</li>
	<li>Milestone 4
	<ul>
		<li><a href="#JPA2.0Roadmap-Iteration12">Iteration 12</a> (Oct. 5, 2009 - Oct. 30, 2009) - <a href="https://issues.apache.org/jira/browse/OPENJPA-1337" rel="nofollow">OPENJPA-1337</a></li>
		<li><a href="#JPA2.0Roadmap-Iteration13">Iteration 13</a> (Nov. 2, 2009 - Dec. 4, 2009) - <a href="https://issues.apache.org/jira/browse/OPENJPA-1373" rel="nofollow">OPENJPA-1373</a></li>
		<li>Iteration 14 (Dec. 7, 2009 - Dec. 28, 2009)</li>
	</ul>
	</li>
	<li>Release Candidate</li>
</ul>
</td>
</tr>
</tbody></table>

<p>Jump to <a href="#JPA2.0Roadmap-TaskList">Task List</a></p>

<p><br clear="all" /></p>

<hr />
<h3><a name="JPA2.0Roadmap-Milestone1"></a><b>Milestone 1</b> <a name="JPA2.0Roadmap-Milestone1"></a></h3>

<p>The Milestone 1 release was never "officially" released, due to the JSR-317 terms of use issues, but the files were tagged in svn and can be checked out using:</p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
<pre>svn co https://svn.apache.org/repos/asf/openjpa/branches/2.0.0-M1/
</pre>
</div></div>


<p><a name="JPA2.0Roadmap-Iteration1"></a></p>

<h4><a name="JPA2.0Roadmap-Iteration1Summary%5COPENJPA800https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FOPENJPA800"></a><b>Iteration 1 Summary</b> &#45; <a href="https://issues.apache.org/jira/browse/OPENJPA-800" rel="nofollow">OPENJPA-800</a></h4>

<p>With the completion of iteration 1, OpenJPA includes many new JPA 2.0 (based on the 10/31/2008 spec draft) features.  Here is a summary of the new features provided by OpenJPA:</p>

<ul>
	<li>The current level of JPA 2.0 API.  You can compile against and use implemented methods of the new API.  Unimplemented methods will throw an UnsupportedOperationException.</li>
	<li>Validation using the current JPA 2.0 orm and persistence schemas.  Version 2.0 persistence and orm files will validate using these new schemas.  Metadata elements provided in iteration 1 (collection-table and element-collection) will validate and can be specified in XML.</li>
	<li>Support for nested embeddables.  An embeddable can now be nested within another embeddable.</li>
	<li>Support for relationships within embeddables.  Embeddables can now contain relationships.</li>
	<li>Collections of embeddables and basic types through the use of ElementCollection and CollectionTable.  Element collections and collection tables can be specified using annotations or in a version 2.0 orm XML.</li>
	<li>Support for the Criteria API based on the current spec level, including the new constructs; KEY(), VALUE(), and CASE().  OpenJPA also includes the ability to convert queries constructed with the Criteria API to JPQL.</li>
	<li>Support for JPA 2.0 JPQL.  Compilation of JPA 2.0 JPQL statements and execution of the new JPQL expressions including simple case expressions, general case expressions, coalesce, and the nullif expression.  In addition, the select expression allows mathematical operations and the result alias can be specified in the select expression and in the ORDER BY clause.  Execution of additional JPA 2.0 JPQL expressions will be added in future iterations.</li>
	<li>Native sequence generators allow the database schema name to be specified on the annotation or in a version 2.0 orm XML.</li>
</ul>



<p><a name="JPA2.0Roadmap-Iteration1a"></a></p>
<h4><a name="JPA2.0Roadmap-Iteration1aSummary%5COPENJPA831https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FOPENJPA831"></a><b>Iteration 1a Summary</b> &#45; <a href="https://issues.apache.org/jira/browse/OPENJPA-831" rel="nofollow">OPENJPA-831</a></h4>

<p>With the completion of the 1a iteration, the OpenJPA documentation has been updated to contain the most current JPA 2.0 schemas.</p>


<p><a name="JPA2.0Roadmap-Iteration2"></a></p>
<h4><a name="JPA2.0Roadmap-Iteration2Summary%5COPENJPA807https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FOPENJPA807"></a><b>Iteration 2 Summary</b> &#45; <a href="https://issues.apache.org/jira/browse/OPENJPA-807" rel="nofollow">OPENJPA-807</a></h4>

<p>With the completion of iteration 2, OpenJPA includes several additional JPA 2.0 (based on the 10/31/2008 spec draft) features. Here is a summary of the new features provided by OpenJPA:</p>

<ul>
	<li>Support for the JPA 2.0 level 2 cache interface.  Operations on the OpenJPA data cache are now available from the entity manager factory through a standard JPA interface.</li>
	<li>Support for use of order column through a JPA annotations or orm mapping file elements.  Existing OpenJPA support for order columns has been extended to support the JPA standard OrderColumn definition.  This iteration supports a configurable base value attribue.  Support for the table and contiguous attributes will be provided in future iterations.</li>
	<li>Enhanced map support.  The use of Map collections has been significantly enhanced.  This iteration includes use of the new MapKeyClass, MapKeyColumn, MapKeyJoinColumn, and MapKeyJoinColumns annotations and corresponding orm mapping file elements.</li>
	<li>Support for JPQL INDEX() function within a query projection or predicate.  Allows the index of ordered columns to be projected or used as part of a query predicate.  Projection is currently not supported for element collection.  This support will be added in a future iteration.</li>
	<li>Support for entity TYPE() expression.  Allows projection of or query criteria based on entity type.  OpenJPA does not currently allow selection of an abstract entity type.</li>
	<li>Support for new javax.persistence standard properties.  Standard properties such as javax.persistence.jdbc.driver can now be specified as configuration properties.</li>
</ul>


<p><br clear="all" /></p>

<hr />
<h3><a name="JPA2.0Roadmap-Milestone2"></a><b>Milestone 2</b> <a name="JPA2.0Roadmap-Milestone2"></a></h3>

<p>The Milestone 2 release will not be an official ASF release, but will be created as a Early Access 2 SNAPSHOT branch due to the JSR-317 terms of use restrictions.  A distribution of the Early Access 2 SNAPSHOT is available <a href="http://cwiki.apache.org/confluence/display/openjpa/OpenJPA+2.0.0+Early+Access+2" rel="nofollow">here</a> for download or the code can be checked out from svn.</p>
<table class="sectionMacro" border="0" cellpadding="5" cellspacing="0" width="100%"><tbody><tr>
<td class="confluenceTd" valign="top" width="5%"></td>
<td class="confluenceTd" valign="top" width="20%"><table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><img src="http://openjpa.apache.org/images/fotolia/Fotolia_9174675_Download.png" align="absmiddle" border="0" /></td>
<td class='confluenceTd'> <a href="http://openjpa.apache.org/openjpa-200-early-access-2.html" rel="nofollow">Download Milestone 2</a> </td>
</tr>
</tbody></table></td>
<td class="confluenceTd" valign="top" width="5%"></td>
<td class="confluenceTd" valign="top" width="20%"><table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><img src="http://openjpa.apache.org/images/fotolia/Fotolia_9174675_Pencil.png" align="absmiddle" border="0" /></td>
<td class='confluenceTd'> <a href="http://svn.apache.org/viewvc/openjpa/branches/2.0.0-EA2/" rel="nofollow">View SVN Files</a> </td>
</tr>
</tbody></table></td>
<td class="confluenceTd" valign="top"></td></tr></tbody></table>

<p><a name="JPA2.0Roadmap-Iteration3"></a></p>
<h4><a name="JPA2.0Roadmap-Iteration3Summary%5COPENJPA808https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FOPENJPA808"></a><b>Iteration 3 Summary</b> &#45; <a href="https://issues.apache.org/jira/browse/OPENJPA-808" rel="nofollow">OPENJPA-808</a></h4>

<p>With the completion of iteration 3, OpenJPA includes several additional JPA 2.0 (based on the 10/31/2008 spec draft) features. Here is a summary of the new features provided by OpenJPA:</p>

<ul>
	<li>Support for collection-valued parameters in JPQL using the IN expression.  A collection-valued parameter (List, Set, etc.) may now be used in conjunction with the IN expression within the where clause of a JPQL statement.</li>
</ul>


<ul>
	<li>JPA specification level is available through OpenJPA configuration.  The JPA specification level of the provider can now be retrieved via the openjpa.Specification property.</li>
</ul>


<ul>
	<li>Support for derived identities including the use of MappedById.  OpenJPA now supports entities which have an identity that is derived from the id of another identity for one-to-one and many-to-one relationships with a parent-dependent type association.</li>
</ul>


<ul>
	<li>Support for getSupportedProperties and getProperties methods on the EntityManager and EntityManagerFactory.  The active properties and their values, in addition to the full set of supported properties can be retrieved for the EntityManager and EntityManagerFactory.</li>
</ul>


<ul>
	<li>The OrderColumn annotation and equivalent XML now allows the specification of the table element.  The table element can be used to specify the join or collection table used to maintain the relationship.</li>
</ul>


<ul>
	<li>Support for getHints and getSupportedHints on Query.  The active hints and their values, in addition to supported hints can be retrieved for a Query.</li>
</ul>



<p><a name="JPA2.0Roadmap-Iteration4"></a></p>
<h4><a name="JPA2.0Roadmap-Iteration4Summary%5COPENJPA875https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FOPENJPA875"></a><b>Iteration 4 Summary</b> &#45; <a href="https://issues.apache.org/jira/browse/OPENJPA-875" rel="nofollow">OPENJPA-875</a></h4>

<p>With the completion of iteration 4, OpenJPA includes several additional JPA 2.0 (based on the 10/31/2008 spec draft) features. Here is a summary of the new features provided by OpenJPA:</p>

<ul>
	<li>Support new JPA LockModeType in find, lock and refresh methods in the EntityManager interface. A new "mixed" lock manager is introduced implementing the new mixed optimistic and pessimistic entity locking semantics.</li>
</ul>


<ul>
	<li>AttributeOverride enhanced to allow navigation of multiple levels of embeddables, use with map keys and values, and use with element collections.</li>
</ul>


<ul>
	<li>AssociationOverride enhanced to support specification of of a join table and override of embeddables within relationships.</li>
</ul>


<ul>
	<li>Additional support of derived identities.</li>
</ul>


<ul>
	<li>Support for general and qualified identification variables in JQPL selections.  KEY, ENTRY, and VALUE qualifiers<br/>
can now be used within the SELECT clause.</li>
</ul>



<p><a name="JPA2.0Roadmap-Iteration5"></a></p>
<h4><a name="JPA2.0Roadmap-Iteration5Summary%5COPENJPA956https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FOPENJPA956"></a><b>Iteration 5 Summary</b> &#45; <a href="https://issues.apache.org/jira/browse/OPENJPA-956" rel="nofollow">OPENJPA-956</a></h4>

<p>With the completion of iteration 5, OpenJPA includes several additional JPA 2.0 (based on the 03/13/2009 spec draft) features. Here is a summary of the new features provided by OpenJPA:</p>

<ul>
	<li>Updated spec APIs and schemas based upon most current specification draft.  New, unimplemented methods will throw an UnsupportedOperationException.</li>
	<li>A lock timeout hint value can now be specified on applicable entity manager and query methods.</li>
	<li>Lock mode (including the new pessimistic lock modes) can be specified on query methods and named queries. This allows for fine-grained locking configuration at the method level.</li>
	<li>The unwrap method can be used to get access to underlying OpenJPA entity manager and query interfaces.</li>
	<li>JPQL queries support the selection of KEY, VALUE, and ENTRY map values.</li>
	<li>Single entities or an entity graph may be detached from the entity manager.  Specifying the new cascade type of DETACH or ALL on relationships allows selective detachment of an entity graph.</li>
	<li>The third argument of the JPQL SUBSTRING function is now optional.</li>
	<li>JPQL queries have been enhanced to support the projection of element collections.</li>
	<li>JPQL queries have been enhanced to support nested embeddables and relationships from embeddables.</li>
</ul>



<p><a name="JPA2.0Roadmap-Iteration6"></a></p>
<h4><a name="JPA2.0Roadmap-Iteration6Summary%5COPENJPA1007https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FOPENJPA1007"></a><b>Iteration 6 Summary</b> &#45; <a href="https://issues.apache.org/jira/browse/OPENJPA-1007" rel="nofollow">OPENJPA-1007</a></h4>

<p>With the completion of iteration 6, OpenJPA includes several additional JPA 2.0 (based on the 03/13/2009 spec draft) features. Here is a summary of the new features provided by OpenJPA:</p>

<ul>
	<li>Query timeout detection for additional databases. Query timeouts are more accurately detected and reported in DB2, Oracle, SQL Server, and Informix.</li>
</ul>


<ul>
	<li>Support for scalar expressions in JPQL subqueries. Scalar expressions such as substring can now be used within a subquery.</li>
</ul>


<ul>
	<li>Support for explicit access types on persistent types. The persistence access method to use can now be specified on a per-type and field/method level.</li>
</ul>


<ul>
	<li>Updates to OrderColumn and EntityManager methods to match new spec draft.</li>
</ul>


<ul>
	<li>JPQL queries now support key/value paths as arguments to scalar functions.  KEY() and VALUE() can now be used to indicate that a map key or value should be used as an argument to a scalar function.</li>
</ul>



<p><a name="JPA2.0Roadmap-Iteration7"></a></p>
<h4><a name="JPA2.0Roadmap-Iteration7Summary%5COPENJPA1052https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FOPENJPA1052"></a><b>Iteration 7 Summary</b> &#45; <a href="https://issues.apache.org/jira/browse/OPENJPA-1052" rel="nofollow">OPENJPA-1052</a></h4>

<p>With the completion of iteration 7, OpenJPA includes several additional JPA 2.0 (based on the 03/13/2009 spec draft) features. Here is a summary of the new features provided by OpenJPA:</p>

<ul>
	<li>New MapKeyEnumerated and MapKeyTemporal annotations and equivalent XML elements for tagging the key of a map collection as either an enumerated or temporal type.</li>
	<li>Base support for JSR-303 Bean Validation including basic configuration and lifecycle-based event validation.</li>
	<li>Support the use of delimited identifiers within annotation attributes for a subset of mapping annotations when using the Derby and DB2 databases.  Support for additional databases will be added in future iterations.</li>
	<li>JPQL subqueries now support derived path expressions and the use of KEY() on map collections.</li>
	<li>OSGI bundle metadata has been added to the OpenJPA jar.  This simplifies the use of OpenJPA in an OSGi environment such as <a href="http://felix.apache.org" rel="nofollow">Apache Felix</a>.</li>
	<li>OrderBy no longer requires name attribute when applied to a collection of basic type.</li>
</ul>


<p><br clear="all" /></p>

<hr />
<h3><a name="JPA2.0Roadmap-Milestone3"></a><b>Milestone 3</b> <a name="JPA2.0Roadmap-Milestone3"></a></h3>

<p>The Milestone 3 release is an official ASF release, but we encourage you to upgrade to the final 2.0.0 as soon as possible after it is released.  A distribution of the Milestone 3 is available <a href="http://cwiki.apache.org/confluence/display/openjpa/OpenJPA+2.0.0+Milestone+3" rel="nofollow">here</a> for download or the code can be checked out from svn.</p>
<table class="sectionMacro" border="0" cellpadding="5" cellspacing="0" width="100%"><tbody><tr>
<td class="confluenceTd" valign="top" width="5%"></td>
<td class="confluenceTd" valign="top" width="20%"><table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><img src="http://openjpa.apache.org/images/fotolia/Fotolia_9174675_Download.png" align="absmiddle" border="0" /></td>
<td class='confluenceTd'> <a href="http://openjpa.apache.org/openjpa-200-milestone-3.html" rel="nofollow">Download Milestone 3</a> </td>
</tr>
</tbody></table></td>
<td class="confluenceTd" valign="top" width="5%"></td>
<td class="confluenceTd" valign="top" width="20%"><table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><img src="http://openjpa.apache.org/images/fotolia/Fotolia_9174675_Pencil.png" align="absmiddle" border="0" /></td>
<td class='confluenceTd'> <a href="http://svn.apache.org/viewvc/openjpa/tags/2.0.0-M3/" rel="nofollow">View SVN Files</a> </td>
</tr>
</tbody></table></td>
<td class="confluenceTd" valign="top"></td></tr></tbody></table>


<p><a name="JPA2.0Roadmap-Iteration8"></a></p>
<h4><a name="JPA2.0Roadmap-Iteration8Summary%5COPENJPA1105https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FOPENJPA1105"></a><b>Iteration 8 Summary</b> &#45; <a href="https://issues.apache.org/jira/browse/OPENJPA-1105" rel="nofollow">OPENJPA-1105</a></h4>

<p>With the completion of iteration 8, OpenJPA includes several additional JPA 2.0 features and bug fixes. Here is a summary of the new features provided by OpenJPA:</p>

<ul>
	<li>Sub-project for JSR-303 (Bean Validation) testing with configurable bean validation providers.</li>
	<li>Automatic detection of bean validation providers.</li>
	<li>Support for bean validation groups, configurable through standard persistence.xml properties.</li>
	<li>Bug fixes for attribute-overrides and embeddable processing.</li>
	<li>Performance enhancements to class reflection utility.  Provides 17% performance gain in some benchmarks.</li>
</ul>



<p><a name="JPA2.0Roadmap-Iteration9"></a></p>
<h4><a name="JPA2.0Roadmap-Iteration9Summary%5COPENJPA1152https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FOPENJPA1152"></a><b>Iteration 9 Summary</b> &#45; <a href="https://issues.apache.org/jira/browse/OPENJPA-1152" rel="nofollow">OPENJPA-1152</a></h4>

<p>With the completion of iteration 9, OpenJPA includes several additional JPA 2.0 features and bug fixes. Here is a summary of the new features provided by OpenJPA:</p>

<ul>
	<li>Bean Validation support for validation groups.  Specific validation groups can be targeted for lifecycle events.</li>
	<li>A TraversableResolver is now registered with the bean validator.  The resolver ensures that only loaded attributes are validated.</li>
	<li>A PersistenceProviderResolver and PersistenceProviderResolverHolder are available from the Geronimo Spec API. PersistenceProviderResolver can be used to return the list of persistence providers available in the runtime environment.</li>
	<li>Availablility of ProviderUtil and PersistenceUnitUtil interfaces.  These interfaces provide methods to determine the load state of a persistent entity or attribute.  In addition, PersistenceUnitUtil can be used to get the identifier of an entity.</li>
	<li>Significant improvements to OpenJPA's subquery processing.</li>
	<li>OpenJPA now includes the ability to use a pluggable encryption provider.  This provider can be used to support encrypted database passwords in the persistence.xml. See the <a href="http://openjpa.apache.org/builds/latest/docs/manual/ref_guide_encryption.html" rel="nofollow">Encryption Provider</a> chapter in the documentation for more details.</li>
</ul>



<p><a name="JPA2.0Roadmap-Iteration10"></a></p>
<h4><a name="JPA2.0Roadmap-Iteration10Summary%5COPENJPA1209https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FOPENJPA1209"></a><b>Iteration 10 Summary</b> &#45; <a href="https://issues.apache.org/jira/browse/OPENJPA-1209" rel="nofollow">OPENJPA-1209</a></h4>

<p>With the completion of iteration 10, OpenJPA includes several additional JPA 2.0 features and bug fixes. Here is a summary of the new features provided by OpenJPA:</p>

<ul>
	<li>Support for the Criteria and Metamodel API.  The Criteria and Metamodel API can be used in conjunction to create and execute strongly-typed programmatic queries.</li>
	<li>Metamodel source file generation.  OpenJPA provides tooling to generate metamodel source classes.</li>
	<li>Support for the TypedQuery and Tuple interfaces.  These interfaces are provided to manipulate typed queries and their results.</li>
	<li>Automatic setting of compatibility options based upon persistence version.  Compatibility options are configured based on persistence version to provide backward compatibility for OpenJPA version 1.x applications.</li>
	<li>Support for naming of unique constraints.</li>
	<li>Lob, Temporal, and Enumeration can now be specified on element collections.</li>
	<li>JPQL now supports multiple constructors in the query projection list.</li>
	<li>Support for the shared-cache-mode element in the persistence.xml.  Provides configuration/enablement options for L2 cache.</li>
	<li>Support for Cacheable annotation and CacheStoreMode/CacheRetriveMode properties.  Allows per class configuration of L2 cacheing and per-operation tuning of cache behavior.</li>
	<li>Database updates including updates for Derby reserved words, usage of a new version of commons-pool and commons-dbcp, and a new Derby network server test profile.</li>
	<li>Support for JDBC date, time, and timestamp literals within JPQL and Criteria queries.</li>
</ul>


<p><a name="JPA2.0Roadmap-Iteration11"></a></p>
<h4><a name="JPA2.0Roadmap-Iteration11Summary%5COPENJPA1268https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FOPENJPA1268"></a><b>Iteration 11 Summary</b> &#45; <a href="https://issues.apache.org/jira/browse/OPENJPA-1268" rel="nofollow">OPENJPA-1268</a></h4>

<p>With the completion of iteration 11, OpenJPA includes several additional JPA 2.0 features and bug fixes. Here is a summary of the new features provided by OpenJPA:</p>

<ul>
	<li>OpenJPA is based upon Proposed Final Draft 2 of <a href="http://jcp.org/en/jsr/detail?id=317" rel="nofollow">JSR-317</a>.</li>
	<li>Support for cascading detach using cascade-detach as specified in the orm.xml.</li>
	<li>Assertion that relationships in MappedSuperclass are unidirectional.</li>
	<li>OpenJPA was updated to the CR5 level of the bean validation specification.</li>
	<li>A new code sample which showcases the use of embeddables.</li>
	<li>Corrected an XML encoding issue which occurred when using XML data with SQL Server.</li>
	<li>Many documentation updates.</li>
	<li>Improved test coverage for many database platforms.  The current test matrix is available <a href="http://cwiki.apache.org/confluence/display/openjpa/JPA+2.0+Test+Coverage" rel="nofollow">here</a>.</li>
</ul>


<p><br clear="all" /></p>

<hr />
<h3><a name="JPA2.0Roadmap-Milestone4"></a><b>Milestone 4</b> <a name="JPA2.0Roadmap-Milestone4"></a></h3>

<p><a name="JPA2.0Roadmap-Iteration12"></a></p>
<h4><a name="JPA2.0Roadmap-Iteration12Summary%5COPENJPA1337https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FOPENJPA1337"></a><b>Iteration 12 Summary</b> &#45; <a href="https://issues.apache.org/jira/browse/OPENJPA-1337" rel="nofollow">OPENJPA-1337</a></h4>

<p>With the completion of iteration 12, OpenJPA includes several additional JPA 2.0 features <br/>
and bug fixes. Here is a summary of the new features provided by OpenJPA:</p>

<ul>
	<li>Support for extended lock scope via the javax.persistence.lock.scope property.</li>
	<li>Support for the GA version of the <a href="http://jcp.org/en/jsr/detail?id=303" rel="nofollow">JSR-303</a> Bean Validation API.</li>
	<li>Many documentation updates, notably for Criteria API and Metamodel tooling.</li>
	<li>More improvements to test coverage for additional database platforms.  The current test matrix is available <a href="http://cwiki.apache.org/confluence/display/openjpa/JPA+2.0+Test+Coverage" rel="nofollow">here</a>.</li>
</ul>


<p><br clear="all" /></p>

<p><a name="JPA2.0Roadmap-Iteration13"></a></p>
<h4><a name="JPA2.0Roadmap-Iteration13Summary%5COPENJPA1373https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FOPENJPA1373"></a><b>Iteration 13 Summary</b> &#45; <a href="https://issues.apache.org/jira/browse/OPENJPA-1373" rel="nofollow">OPENJPA-1373</a></h4>


<p><br clear="all" /></p>

<hr />
<h2><a name="JPA2.0Roadmap-OpenJPA2.0Tasks"></a>OpenJPA 2.0 Tasks <a name="JPA2.0Roadmap-TaskList"></a></h2>

<h3><a name="JPA2.0Roadmap-JPA2.0SpecFeatures"></a>JPA 2.0 Spec Features</h3>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Status </th>
<th class='confluenceTh'> JIRA(s) </th>
<th class='confluenceTh'> Effort </th>
<th class='confluenceTh'> Summary </th>
<th class='confluenceTh'> Area </th>
<th class='confluenceTh'> JPA 2.0 Spec Reference(s) </th>
</tr>
<tr>
<td class='confluenceTd'> <font color="blue">In Progress</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-962" rel="nofollow">OPENJPA-962</a> <br clear="all" /> <a href="https://issues.apache.org/jira/browse/OPENJPA-1115" rel="nofollow">OPENJPA-1115</a> </td>
<td class='confluenceTd'> Medium </td>
<td class='confluenceTd'> New database object naming conventions (delimited-identifiers) </td>
<td class='confluenceTd'> General </td>
<td class='confluenceTd'> 2.13, 12.2.1.13, 12.3 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="blue">In Progress</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1358" rel="nofollow">OPENJPA-1358</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Added find method that accepts properties (no lock mode) </td>
<td class='confluenceTd'> EM </td>
<td class='confluenceTd'> 3.1.1 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="blue">In Progress</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1358" rel="nofollow">OPENJPA-1358</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> New refresh method that accepts properties (no lock mode) </td>
<td class='confluenceTd'> EM </td>
<td class='confluenceTd'> 3.1.1 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="blue">In Progress</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1358" rel="nofollow">OPENJPA-1358</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Verify cache mode properties support on find, refresh and Query </td>
<td class='confluenceTd'> Cache </td>
<td class='confluenceTd'> 3.7.2 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1306" rel="nofollow">OPENJPA-1306</a> </td>
<td class='confluenceTd'> Medium </td>
<td class='confluenceTd'> Added new javax.persistence.lock.scope property </td>
<td class='confluenceTd'> Locking </td>
<td class='confluenceTd'> 3.4.3 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1253" rel="nofollow">OPENJPA-1253</a> </td>
<td class='confluenceTd'> Medium </td>
<td class='confluenceTd'> Review @JoinColumn elements for behavioral changes </td>
<td class='confluenceTd'> Mapping </td>
<td class='confluenceTd'> 11.1.21 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1306" rel="nofollow">OPENJPA-1306</a> </td>
<td class='confluenceTd'> Medium </td>
<td class='confluenceTd'> Review clarifications to locking modes </td>
<td class='confluenceTd'> Locking </td>
<td class='confluenceTd'> 3.4.3 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Review chapter on deployment and bootstrapping contracts for updates. </td>
<td class='confluenceTd'> General </td>
<td class='confluenceTd'> Ch 9 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1270" rel="nofollow">OPENJPA-1270</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Assert that relationships defined in a mapped superclass must be unidirectional. </td>
<td class='confluenceTd'> General </td>
<td class='confluenceTd'> 2.11.2 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> Spec updated </td>
<td class='confluenceTd'> TBD</td>
<td class='confluenceTd'> New JPQL reserved identifiers. </td>
<td class='confluenceTd'> JPQL </td>
<td class='confluenceTd'> 4.4.1 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1069" rel="nofollow">OPENJPA-1069</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Review @OrderBy for behavioral changes </td>
<td class='confluenceTd'> Mapping </td>
<td class='confluenceTd'> 11.1.38 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1274" rel="nofollow">OPENJPA-1274</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Test CascadeType.DETACH via orm.xml </td>
<td class='confluenceTd'> Testing </td>
<td class='confluenceTd'> 12.3 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> Routine JPQL BNF update</td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Updated single_valued_path_expression definition </td>
<td class='confluenceTd'> JPQL </td>
<td class='confluenceTd'> 4.4.4 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> Routine JPQL BNF update </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> New JPQL reserved identifiers should not be used as result variables </td>
<td class='confluenceTd'> JPQL </td>
<td class='confluenceTd'> 4.4.1 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1272" rel="nofollow">OPENJPA-1272</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> attribute-override and association-override available from element-collection XML schema type </td>
<td class='confluenceTd'> Mapping </td>
<td class='confluenceTd'> 12.3 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1271" rel="nofollow">OPENJPA-1271</a> </td>
<td class='confluenceTd'> Medium </td>
<td class='confluenceTd'> Support for CacheRetrieveMode and CacheStoreMode properties. </td>
<td class='confluenceTd'> Cache </td>
<td class='confluenceTd'> 3.7.2 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1264" rel="nofollow">OPENJPA-1264</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Cacheable attribute added to entity element in orm.xml </td>
<td class='confluenceTd'> Cache </td>
<td class='confluenceTd'> 12.2.3.3, 12.3 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1264" rel="nofollow">OPENJPA-1264</a> </td>
<td class='confluenceTd'> Medium </td>
<td class='confluenceTd'> Cacheable annotation </td>
<td class='confluenceTd'> Cache </td>
<td class='confluenceTd'> 3.7, 11.1.7 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1266" rel="nofollow">OPENJPA-1266</a></td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Support for JDBC escape sequence for date/time literals (6/19 rev) </td>
<td class='confluenceTd'> JPQL </td>
<td class='confluenceTd'> 4.6.1 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1240" rel="nofollow">OPENJPA-1240</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Allow Lob, Temporal, Enumerated annotations to be applied to element collections annotations and in XML. </td>
<td class='confluenceTd'> Mapping </td>
<td class='confluenceTd'> 11.1.16, 11.1.24, 11.1.47 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1264" rel="nofollow">OPENJPA-1264</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Cache mode elements added to persistence.xml </td>
<td class='confluenceTd'> Cache </td>
<td class='confluenceTd'> 3.7.1, 3.7.2, 8.3 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1228" rel="nofollow">OPENJPA-1228</a></td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Default value change of exclude-unlisted-classes element </td>
<td class='confluenceTd'> General </td>
<td class='confluenceTd'> 8.2.1.6.1 (7/23) </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1251" rel="nofollow">OPENJPA-1251</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> EntityManagerFactory getProperties returns Map of &lt;String, Object&gt; </td>
<td class='confluenceTd'> EMF </td>
<td class='confluenceTd'> 7.4 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1251" rel="nofollow">OPENJPA-1251</a> </td>
<td class='confluenceTd'> Medium </td>
<td class='confluenceTd'> Added setProperty method </td>
<td class='confluenceTd'> EM </td>
<td class='confluenceTd'> 3.1.1 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1013" rel="nofollow">OPENJPA-1013</a> </td>
<td class='confluenceTd'> High </td>
<td class='confluenceTd'> Build strictly-typed Criteria API </td>
<td class='confluenceTd'> Criteria </td>
<td class='confluenceTd'> Ch 6 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1014" rel="nofollow">OPENJPA-1014</a> </td>
<td class='confluenceTd'> High </td>
<td class='confluenceTd'> Build weakly-typed Criteria API </td>
<td class='confluenceTd'> Criteria </td>
<td class='confluenceTd'> Ch 6 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1180" rel="nofollow">OPENJPA-1180</a> </td>
<td class='confluenceTd'> High </td>
<td class='confluenceTd'> Added getParameters, getParameterValue, getParameter methods to Query interface </td>
<td class='confluenceTd'> Typed Parameters </td>
<td class='confluenceTd'> 3.8.1, 3.8.5 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1009" rel="nofollow">OPENJPA-1009</a> </td>
<td class='confluenceTd'> High </td>
<td class='confluenceTd'> Populate canonical meta-model for strictly typed Criteria Query building </td>
<td class='confluenceTd'> Metamodel </td>
<td class='confluenceTd'> Ch 5 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1010" rel="nofollow">OPENJPA-1010</a> </td>
<td class='confluenceTd'> High </td>
<td class='confluenceTd'> Instantiate meta-model classes for JPA 2.0 from source code annotations </td>
<td class='confluenceTd'> Metamodel </td>
<td class='confluenceTd'> Ch 5 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1008" rel="nofollow">OPENJPA-1008</a> </td>
<td class='confluenceTd'> High </td>
<td class='confluenceTd'> Generate meta-model for JPA 2.0 </td>
<td class='confluenceTd'> Metamodel </td>
<td class='confluenceTd'> Ch 5 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1235" rel="nofollow">OPENJPA-1235</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Optional name element to UniqueConstraint annotation and corresponding XML type. </td>
<td class='confluenceTd'> Mapping </td>
<td class='confluenceTd'> 11.1.49, 12.3 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1107" rel="nofollow">OPENJPA-1107</a> </td>
<td class='confluenceTd'> Medium </td>
<td class='confluenceTd'> Provide TraversableResolver for use with Bean Validation Factory </td>
<td class='confluenceTd'> Spec API </td>
<td class='confluenceTd'> 3.6.1.2 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1013" rel="nofollow">OPENJPA-1013</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Modified getQueryBuilder to return updated criteria query builder </td>
<td class='confluenceTd'> EMF, Criteria </td>
<td class='confluenceTd'> 7.4 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1010" rel="nofollow">OPENJPA-1010</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> New getMetamodel method </td>
<td class='confluenceTd'> EMF, Metamodel </td>
<td class='confluenceTd'> 7.4 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1191" rel="nofollow">OPENJPA-1191</a> </td>
<td class='confluenceTd'> High </td>
<td class='confluenceTd'> Implement Typed Query interface </td>
<td class='confluenceTd'> Typed Query </td>
<td class='confluenceTd'> 3.8.1, 3.8.5 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1191" rel="nofollow">OPENJPA-1191</a> </td>
<td class='confluenceTd'> High </td>
<td class='confluenceTd'> Implement Tuple interface </td>
<td class='confluenceTd'> Typed Query </td>
<td class='confluenceTd'> 3.8.1, 3.8.5 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1068" rel="nofollow">OPENJPA-1068</a> </td>
<td class='confluenceTd'> High </td>
<td class='confluenceTd'> Support Bean Validation: Entity validation upon lifecycle events. </td>
<td class='confluenceTd'> Bean Validation </td>
<td class='confluenceTd'> 3.6, 3.2.9 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1082" rel="nofollow">OPENJPA-1082</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Validation target groups via persistence.xml or createEMF properties Map </td>
<td class='confluenceTd'> Bean Validation </td>
<td class='confluenceTd'> 3.6.1.2, 8.3 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1013" rel="nofollow">OPENJPA-1013</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Modified createQuery to accept updated criteria query definition </td>
<td class='confluenceTd'> EM, Criteria </td>
<td class='confluenceTd'> 3.1.1 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1013" rel="nofollow">OPENJPA-1013</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Modified getQueryBuilder to return updated criteria query builder </td>
<td class='confluenceTd'> EM, Criteria </td>
<td class='confluenceTd'> 3.1.1. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-805" rel="nofollow">OPENJPA-805</a> <br clear="all" />  <a href="https://issues.apache.org/jira/browse/OPENJPA-855" rel="nofollow">OPENJPA-855</a> <br clear="all" />  <a href="https://issues.apache.org/jira/browse/OPENJPA-856" rel="nofollow">OPENJPA-856</a> <br clear="all" />  <a href="https://issues.apache.org/jira/browse/OPENJPA-865" rel="nofollow">OPENJPA-865</a> <br clear="all" />  <a href="https://issues.apache.org/jira/browse/OPENJPA-879" rel="nofollow">OPENJPA-879</a> <br clear="all" />  <a href="https://issues.apache.org/jira/browse/OPENJPA-961" rel="nofollow">OPENJPA-961</a> <br clear="all" />  <a href="https://issues.apache.org/jira/browse/OPENJPA-967" rel="nofollow">OPENJPA-967</a> <br clear="all" />  <a href="https://issues.apache.org/jira/browse/OPENJPA-978" rel="nofollow">OPENJPA-978</a> <br clear="all" />  <a href="https://issues.apache.org/jira/browse/OPENJPA-1035" rel="nofollow">OPENJPA-1035</a> <br clear="all" />  <a href="https://issues.apache.org/jira/browse/OPENJPA-1024" rel="nofollow">OPENJPA-1024</a> <br clear="all" />  <a href="https://issues.apache.org/jira/browse/OPENJPA-1016" rel="nofollow">OPENJPA-1016</a> </td>
<td class='confluenceTd'> High </td>
<td class='confluenceTd'> JPQL Updates </td>
<td class='confluenceTd'> JPQL </td>
<td class='confluenceTd'> Ch. 4 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-995" rel="nofollow">OPENJPA-995</a> </td>
<td class='confluenceTd'> High </td>
<td class='confluenceTd'> Migrate existing Criteria Query implementation as OpenJPA extension </td>
<td class='confluenceTd'> Criteria </td>
<td class='confluenceTd'> Ch 6 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1069" rel="nofollow">OPENJPA-1069</a> </td>
<td class='confluenceTd'> Medium </td>
<td class='confluenceTd'> OrderBy annotation applied to an element collection of basic type doesn't require property or field name </td>
<td class='confluenceTd'> Mapping </td>
<td class='confluenceTd'> 11.1.38 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1055" rel="nofollow">OPENJPA-1055</a> </td>
<td class='confluenceTd'> Medium </td>
<td class='confluenceTd'> Added MapKeyEnumerated and MapKeyTemporal annotations and XML. </td>
<td class='confluenceTd'> Mapping </td>
<td class='confluenceTd'> 11.1.30, 11.1.33, 12.3 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-937" rel="nofollow">OPENJPA-937</a> </td>
<td class='confluenceTd'> Medium </td>
<td class='confluenceTd'> Allow use of AssociationOverrides with mapped superclass relationships. </td>
<td class='confluenceTd'> Mapping </td>
<td class='confluenceTd'> 11.1.2 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-878" rel="nofollow">OPENJPA-878</a> <br clear="all" />  <a href="https://issues.apache.org/jira/browse/OPENJPA-963" rel="nofollow">OPENJPA-963</a> <br clear="all" />  <a href="https://issues.apache.org/jira/browse/OPENJPA-964" rel="nofollow">OPENJPA-964</a> </td>
<td class='confluenceTd'> Medium </td>
<td class='confluenceTd'> Support default query hint for query timeout </td>
<td class='confluenceTd'> EM, Query </td>
<td class='confluenceTd'> 3.8.8 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-926" rel="nofollow">OPENJPA-926</a> </td>
<td class='confluenceTd'> Medium </td>
<td class='confluenceTd'> Support persistent access types including @Access annotation and AccessType enum and XML </td>
<td class='confluenceTd'> General </td>
<td class='confluenceTd'> 2.3, 11.1.1, 12.2.1.4, 12.2.2.4, 12.3 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1034" rel="nofollow">OPENJPA-1034</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Remove contiguous and base elements from OrderColumn annotation </td>
<td class='confluenceTd'> Mapping </td>
<td class='confluenceTd'> 11.1.39 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1032" rel="nofollow">OPENJPA-1032</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Removal and revert behavior of getNamedParameters and getPositionalParameters </td>
<td class='confluenceTd'> Query </td>
<td class='confluenceTd'> 3.8.1 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1013" rel="nofollow">OPENJPA-1013</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Added getMetamodel method </td>
<td class='confluenceTd'> EM, Metamodel </td>
<td class='confluenceTd'> 3.1.1 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-773" rel="nofollow">OPENJPA-773</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Renamed clear method to detach </td>
<td class='confluenceTd'> EM </td>
<td class='confluenceTd'> 3.1.1 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-773" rel="nofollow">OPENJPA-773</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Changed target-entity attribute to target-class in element-collection </td>
<td class='confluenceTd'> Mapping </td>
<td class='confluenceTd'> 12.3 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-773" rel="nofollow">OPENJPA-773</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Update pessimistic lock mode names </td>
<td class='confluenceTd'> Locking </td>
<td class='confluenceTd'> 3.4.4 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-878" rel="nofollow">OPENJPA-878</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Timeouts are in milliseconds. </td>
<td class='confluenceTd'> Query, Locking </td>
<td class='confluenceTd'> 3.8.8, 3.4.4.3 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-773" rel="nofollow">OPENJPA-773</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Renamed cascade CLEAR to DETACH </td>
<td class='confluenceTd'> EM </td>
<td class='confluenceTd'> 3.1.1, 3.2.6 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1077" rel="nofollow">OPENJPA-1077</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Validation-mode element support added to persistence.xml and to createEMF properties Map </td>
<td class='confluenceTd'> Bean Validation </td>
<td class='confluenceTd'> 3.6.1.1, 8.3 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1102" rel="nofollow">OPENJPA-1102</a> </td>
<td class='confluenceTd'> Low </td>
<td class='confluenceTd'> Support application/container provided ValidatorFactory </td>
<td class='confluenceTd'> Bean Validation </td>
<td class='confluenceTd'> 3.6.2 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1076" rel="nofollow">OPENJPA-1076</a> </td>
<td class='confluenceTd'> Medium </td>
<td class='confluenceTd'> PersistenceProviderResolver interface and PersistenceProviderResolverHolder class </td>
<td class='confluenceTd'> Spec API </td>
<td class='confluenceTd'> 9.3 </td>
</tr>
</tbody></table>



<p><a href="/confluence/display/openjpa/JSR-317+20081031+Public+Draft+Tasks" title="JSR-317 20081031 Public Draft Tasks">Task list for JSR-317 10/31/2008 public draft</a></p>



<h3><a name="JPA2.0Roadmap-OtherImprovements"></a>Other Improvements</h3>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Status </th>
<th class='confluenceTh'> JIRA </th>
<th class='confluenceTh'> Summary </th>
</tr>
<tr>
<td class='confluenceTd'> <font color="red">Not Started</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1011" rel="nofollow">OPENJPA-1011</a> </td>
<td class='confluenceTd'> Instantiate meta-model classes for JPA 2.0 from XML descriptors </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-766" rel="nofollow">OPENJPA-766</a> </td>
<td class='confluenceTd'> Tests that currently fail should be committed to the repository </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-5" rel="nofollow">OPENJPA-5</a> </td>
<td class='confluenceTd'> Allow compilation with JDK 6 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1114" rel="nofollow">OPENJPA-1114</a> </td>
<td class='confluenceTd'> Bean Validation APIs should be an optional runtime dependency </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1113" rel="nofollow">OPENJPA-1113</a> </td>
<td class='confluenceTd'> Reflection class performance improvement </td>
</tr>
</tbody></table>


<h3><a name="JPA2.0Roadmap-GeneralTasks"></a>General Tasks</h3>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Status </th>
<th class='confluenceTh'> JIRA </th>
<th class='confluenceTh'> Summary </th>
</tr>
<tr>
<td class='confluenceTd'> <font color="red">Not Started</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-837" rel="nofollow">OPENJPA-837</a> </td>
<td class='confluenceTd'> OpenJPA does not fully support database catalogs </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="red">Not Started</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-910" rel="nofollow">OPENJPA-910</a> </td>
<td class='confluenceTd'> Allow multiple keys for the same property to be specified at different levels </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="blue">Ongoing</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-773" rel="nofollow">OPENJPA-773</a> </td>
<td class='confluenceTd'> Upgrade to JPA 2 - umbrella task - includes updating spec API </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="blue">In Progress</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-757" rel="nofollow">OPENJPA-757</a> </td>
<td class='confluenceTd'> Map existing OpenJPA extensions to new features of JPA 2.0 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="green">Complete</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-857" rel="nofollow">OPENJPA-857</a> <br clear="all" /> <a href="https://issues.apache.org/jira/browse/OPENJPA-1208" rel="nofollow">OPENJPA-1208</a> </td>
<td class='confluenceTd'> Detect and store JPA version </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="red">Not Started</font> </td>
<td class='confluenceTd'> <a href="https://issues.apache.org/jira/browse/OPENJPA-1103" rel="nofollow">OPENJPA-1103</a> </td>
<td class='confluenceTd'> Remove early-access disclaimer from the NOTICE files once the spec is released </td>
</tr>
</tbody></table>
     </div>
     <div id="commentsSection" class="wiki-content pageSection">
       <div style="float: right;">
            <a href="http://cwiki.apache.org/confluence/users/viewnotifications.action" class="grey">Change Notification Preferences</a>
       </div>

       <a href="http://cwiki.apache.org/confluence/display/openjpa/JPA+2.0+Roadmap">View Online</a>
       |
       <a href="http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=98034&revisedVersion=177&originalVersion=176">View Change</a>
              |
       <a href="http://cwiki.apache.org/confluence/display/openjpa/JPA+2.0+Roadmap?showComments=true&amp;showCommentArea=true#addcomment">Add Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message