Blog

The second iteration of OpenJPA 2.0 is complete! Iteration 2 content is based on the 10/31/2008 draft of the JPA 2.0 specification. Here is a summary of the new features provided in this iteration:

  • 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.
  • 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.
  • 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.
  • 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.
  • Support for new javax.persistence standard properties. Standard properties such as javax.persistence.jdbc.driver can now be specified as configuration properties.
  • 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.

These new features are available in the latest nightly snapshot build. Be aware that the JPA 2.0 spec is not final so these features are subject to change.

Many thanks to those who contributed to this iteration! If you'd like to be a contributor to the OpenJPA project, please post your interest on the dev mailing list or contact one of the active committers.

-Jeremy

The first iteration of OpenJPA 2.0 is complete! Iteration 1 content is based on the 10/31/2008 draft of the JPA 2.0 specification. Here is a summary of the new features provided in iteration 1:

  • 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.
  • 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.
  • Support for nested embeddables. An embeddable can now be nested within another embeddable.
  • Support for relationships within embeddables. Embeddables can now contain relationships.
  • 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.
  • 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.
  • 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.
  • Native sequence generators allow the database schema name to be specified on the annotation or in a version 2.0 orm XML.

These new JPA 2.0 features are available in the latest nightly snapshot build. Be aware that the JPA 2.0 spec is not final so these features are subject to change.

Many thanks to those who contributed to this first iteration! If you'd like to be a contributor to the OpenJPA project, please post your interest on the dev mailing list or contact one of the active committers.

-Jeremy

Latest nightly build supports a preview of new Criteria API defined in current JPA 2.0 public draft version.
The usage of this new API is documented here.

Links to "nightly" (latest) builds are back on the Documentation and Downloads pages. These builds will be updated nightly if there have been changes made to trunk in SVN.

-mike

OpenJPA 1.2.0 released.

OpenJPA 1.2.0 is now available at http://openjpa.apache.org/downloads.html and via the ibiblio maven repository. Version 1.2.0 includes a number of new features and bugfixes, including:

  • Support for MEMBER OF queries
  • Improved handling of non transactional work
  • Updated UUID generation to use Java 5
  • The statement batching implementation is now more extensible

Read the release notes for more details.

OpenJPA 1.0.3 released!

OpenJPA 1.0.3 released!

OpenJPA 1.0.3, a maintenance release on the 1.0 stream, is now available on the downloads page. It is recommended for all OpenJPA 1.0.x users.

Read the release notes for more details.

OpenJPA 1.1.0 is now available at http://openjpa.apache.org/downloads.html and via Maven. Version 1.1.0 includes a number of new features and bugfixes, including:

  • Improvements in SQL generation for DB2, Oracle and MySQL
  • Support for memory-friendly streaming of BLOB and CLOB data
  • Support for interface-only domain models
  • Collections and Maps can now contain primitives, enums and @Embeddables, as well as @Entity and @MappedSuperclass types
  • Assorted performance and scalability improvements

For more details, see the release notes.

OpenJPA 1.0.2 released!

OpenJPA 1.0.2, a maintenance release on the 1.0 stream, is now available. It is recommended for all OpenJPA 1.0.0 and 1.0.1 users.

Read the release notes for more details, and get your copy from a nearby mirror.

OpenJPA 1.0.1 Released

We are please to announce OpenJPA 1.0.1, a maintenance revision of the successful OpenJPA 1.0.0 release, is available for public consumption.

The release note, binaries, sources and documentation of this release can be obtained from Downloads and Documentation.

We are pleased to announce the release of OpenJPA 1.0.0, the first official release since OpenJPA graduated from Apache incubation into a top-level project! Please see the release notes for a list of changes in this release. The release can be obtained from the downloads page, and the documentation page has links to the complete online documentation.

Next week, a number of the members of the OpenJPA community will be meeting at the BEA offices in San Jose (and virtually on the phone and online) for a two-day technical pow-wow. We're planning to go out to dinner and socializing on Monday evening.

So, if you'd like to get involved, either in the technical sessions or the evening event, take a look at the wiki page.

As of svn 560016 / OPENJPA-293, you no longer need to run the OpenJPA enhancer in order to use OpenJPA.

OpenJPA is now operating as an Apache Top Level Project. The incubator artifacts are no longer relevant. Mailing lists, svn repository, and JIRA have been updated to reflect the new status of the Project.

Next up: complete work on OpenJPA 1.0.0 for the first release outside the incubator.

Last week, OpenJPA graduated from the incubator to a top-level project! Thanks, everyone, for making it happen. Once the dust settles, we'll be moving to http://openjpa.apache.org, and doing a corresponding switch to our svn repository. Other than that, things should be about the same.

OpenJPA 0.9.7 is now available! I'd like to thank Michael Dick in particular for shepherding the release through the process.

For more details on what's new, check out the JIRA change log for the release.