aspose file tools*
The moose likes Object Relational Mapping and the fly likes Which JPA RI to use ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "Which JPA RI to use ?" Watch "Which JPA RI to use ?" New topic
Author

Which JPA RI to use ?

chris kumar
Greenhorn

Joined: Jun 04, 2009
Posts: 17
Hi All,

Can you please tell me which JPA implementations is to be used for Enterprise apps as well as Standarad app.

The few that i see is Hibernate, Eclipse links, Top links or OpenJPA, as the RI for JPA.

Can you please let me know which one we should use ..?
Christian Gossart
Ranch Hand

Joined: Mar 13, 2008
Posts: 34
Hi Chris, here is my understanding:

Afaik, there is only one reference implementation for a specification: Toplink was the JPA 1.0 RI, and its successor EclipseLink will be (is) the JPA 2.0 RI.
Hibernate and OpenJPA are implementations of the spec, but not the reference one.

In terms of functionality described in the JPA spec, any of these implementations should behave the same. Additionaly, each one provide specific extensions, that are not 'JPA compliant', but can be useful (for example, the Hibernate Criteria API is not part of the JPA 1.0 spec, and I miss it).

I would say that for a standard application, Hibernate seems to be the mainstream framework, and has a great forum/community (and also a great Spring integration, as I'm a Spring fan ).

For an enterprise application, I'd stick with the implementation coming from the targeted application server (just to avoid depending on another set of libraries): Hibernate with JBoss, OpenJPA with Websphere and Weblogic, EclipseLink with Glassfish.

If anyone knows compatibility problems between some JPA implementations and application servers, or implementations problems with respect to the JPA spec, I'd really be glad to improve my knowledge on this topic


Christian Gossart
Cameron Wallace McKenzie
author and cow tipper
Saloon Keeper

Joined: Aug 26, 2006
Posts: 4968
    
    1

I'd suggest Hibernate, although, if you are on a JEE5 server, just use your native JPA provider/Entity Manager.

I believe that JPA2 will include the ability to perform criteria type queries.

-Cameron McKenzie
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Which JPA RI to use ?