The third iteration of OpenJPA 2.0 is complete! Content is based on the 10/31/2008 draft of the JPA 2.0 specification. In addition to several bug fixes, this iteration contains these new features:

  • 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.
  • JPA specification level is available as an OpenJPA property. The JPA specification level of the provider can now be retrieved via the openjpa.Specification property.
  • Support for derived identities including the use of MappedById. OpenJPA now supports entities which have an id that is derived from the id of another identity for one-to-one and many-to-one relationships with a parent-dependent type association.
  • 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.
  • The OrderColumn annotation and equivalent XML allows the specification of the table attribute. The table attribute can be used to specify the join or collection table used in the relationship or collection.
  • Support for getHints and getSupportedHints on Query. The active hints and their values, in addition to all supported hints, can be retrieved for a Query.
  • A new cache which provides caching of SQL for prepared JPQL queries. See OPENJPA-703 for additional details.

These new features are available in the latest nightly snapshot build. Be aware that the JPA 2.0 specification 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

  • No labels