Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Which JPA RI to use ?

 
chris kumar
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 34
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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

 
Cameron Wallace McKenzie
author and cow tipper
Saloon Keeper
Posts: 4968
1
Hibernate Spring Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic