BT

OpenJPA 1.0: Enterprise O/R Mapping with full JPA 1.0 compliance

by Ryan Slobojan on Sep 11, 2007 |

Apache OpenJPA, an open-source implementation of the Java Persistence API (JPA), recently released version 1.0.0. InfoQ spoke with OpenJPA project lead Patrick Linskey to learn more about this release.

Linskey described some important OpenJPA features and extensions:

  • JPA 1.0 compliant - Fully implements the JPA 1.0 specification, and is targeted mainly at relational database management systems (RDMBS)
  • Enterprise-grade - Contains many enterprise-level features such as memory management, scale-building, and cluster-building
  • Quality of Service (QoS) extensions - Clustered performance caching, fetch access pattern control and tuning, and lightweight memory footprints for large transactions
  • Advanced RDMBS feature extensions - Support for savepoints and pessimistic locking
  • JPA contract improvements - well-defined and useful rollback behaviour, expansion of @GeneratedValue to all numeric field types, expanded lazy loading/dirty tracking capabilities
  • Support for JAXB-managed fields - fields can map directly to XML column types in the database, and some direct querying of XML can be done from OpenJPA queries

Linskey also mentioned that BEA's Kodo is based off of OpenJPA, although they do not follow similar release cycles - Kodo tends to be released in sync with BEA's WebLogic application server.

In addition to BEA WebLogic using OpenJPA as it's JPA implementation through Kodo, Apache Geronimo's recent 2.0 release also uses OpenJPA through the Apache OpenEJB project. OpenJPA is also used in several other products, and Linskey identified Compass project lead Shay Banon as a key to the integration between Compass and OpenJPA. Linskey was also asked what the future plans were for OpenJPA:

Now that the JPA2 spec team is starting to get underway, obviously, that is a big focus for us. The JPA 1.0 specification covers a large amount of what most users will need to build applications, but there are a few important areas of the O/R mapping problem that the JPA spec does not yet cover. Beefing up this coverage is a big focus of ours for the next JPA specification release.

From a product standpoint, we have a number of ideas around cache optimization for heavy-write environments and further enhancements for highly-concurrent applications running in multi-core environments. We've also done a bunch of work around support for accessing OpenJPA via alternate programming models, such as SCA's Service Data Objects specification, or other dynamic APIs.

For more details about OpenJPA, please take a look at a recent InfoQ presentation in which Patrick Linskey discusses OpenJPA and the JPA specification in detail.

Hello stranger!

You need to Register an InfoQ account or to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Congrats! by anjan bacchu

hi Patrick,

congrats on the 1.0. When is 2.0 spec expected to complete ? When is 2.0 for OpenJPA scheduled for ?

It's usually the case that the VERSION 3 of a product is the REALLY USABLE version of a product. That was the case with Windows, Windows NT and hibernate (among other products). Will we see a difference in the case of OpenJPA ?

Thank you,

BR,
~A

Hibernate by anjan bacchu

Hi All,

Does anyone know how OpenJPA compares to Hibernate 3.2(3.x) in terms of
1) JPA compliance
2) Performance
3) Features.(Native Hibernate).

Thank you,

BR,
~A

Re: Congrats! by Patrick Linskey

congrats on the 1.0.

Thanks!
When is 2.0 spec expected to complete ? When is 2.0 for OpenJPA scheduled for ?

JPA 2.0 is just getting underway right now; I think that it's targeted to be released in around 18 months or so, but I might be off by a bit there.

OpenJPA will track the 2.0 spec as closely as we can, given the terms of the JCP agreements.
It's usually the case that the VERSION 3 of a product is the REALLY USABLE version of a product. That was the case with Windows, Windows NT and hibernate (among other products). Will we see a difference in the case of OpenJPA ?

Well, OpenJPA is derived from the Kodo 4.0 codebase, so by your metric, things should be pretty usable already. But I'll leave that to others to judge -- I know the APIs quite well at this point, and find them very usable in general. We did a bunch of work just prior to the 1.0 release to hammer down the "published" extension APIs and to make them align well with Java 5; hopefully, that work will prove to last over time.

-Patrick

--
Patrick Linskey
bea.com

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

3 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2013 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT