InfoQ

News

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

Posted by Ryan Slobojan on Sep 11, 2007 01:00 PM

Community
Java
Topics
Data Access ,
Open Source
Tags
Open JPA ,
BEA ,
Compass ,
JPA ,
Open Source Project Releases ,
Geronimo

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.

3 comments

Reply

Congrats! by anjan bacchu Posted Sep 11, 2007 4:00 PM
Re: Congrats! by Patrick Linskey Posted Sep 12, 2007 2:44 AM
Hibernate by anjan bacchu Posted Sep 11, 2007 4:01 PM
  1. Back to top

    Congrats!

    Sep 11, 2007 4:00 PM 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

  2. Back to top

    Hibernate

    Sep 11, 2007 4:01 PM 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

  3. Back to top

    Re: Congrats!

    Sep 12, 2007 2:44 AM 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

Exclusive Content

Book Except and Interview : Aptana RadRails, An IDE for Rails Development

Aptana RadRails: An IDE for Rails Development by Javier Ramírez discusses the latest Aptana RadRails IDE, a development environment for creating Ruby on Rails applications.

Fast Bytecodes for Funny Languages

Cliff Click discusses how to optimize generated bytecode for running on the JVM. Click analyzes and reports on several JVM languages and shows several places where they could increase performance.

Scott Ambler On Agile’s Present and Future

Scott Ambler, Practice Lead for Agile Development at IBM, speaks on the current status of the Agile community and practices having a look at the perspective of the Agile’s future.

Manager's Introduction to Test-Driven Development

Dave Nicolette and Karl Scotland try to introduce non-technical managers to one of the most popular Agile development techniques: Test-Driven Development (TDD).

Structured Event Streaming with Smooks

Smooks is best known for its transformation capabilities, but in this article Tom Fennelly describes how you can also use it for structured event streaming.

How to Work With Business Leaders to Manage Architectural Change

Successful architectures evolve over time to meet changing business requirements. Luke Hohmann presents how to collaborate with key members of your business to manage architectural changes.

Colors and the UI

In this article, Dr. Tobias Komischke explains how colors used in a GUI can influence our interaction with a computer and offers advice on using the appropriate colors for the interface.

Building your next service with the Atom Publishing Protocol

In his presentation, recorded at QCon San Francisco, MuleSource architect Dan Diephouse explores ways to use the Atom Publishing Protocol (AtomPub) when building services in a RESTful way.