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

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

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.

Style

## Hello stranger!

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

Get the most out of the InfoQ experience.

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

• ##### Congrats!

by anjan bacchu /

• ##### Re: Congrats!

by Patrick Linskey /

• ##### Hibernate

by anjan bacchu /

• ##### Congrats!

by anjan bacchu /

Your message is awaiting moderation. Thank you for participating in the discussion.

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 /

Your message is awaiting moderation. Thank you for participating in the discussion.

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!

Your message is awaiting moderation. Thank you for participating in the discussion.

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

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

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.