I want to use the Java Persistence API (JPA) for my web application.
There are popular JPA implementations like Hibernate, Toplink and EclipseLink. What implementation is a good choise and why?
When the Java Persistence API (API) was developed, it became popular very fast. JPA describes the management of relational data in applications using Java.
JPA (Java Persistence API) is an interface for persistence providers to implement.
Hibernate is one such implementation of JPA. When you use Hibernate with JPA you are actually using the Hibernate JPA implementation.
JPA typically defines the metadata via annotations in the Java class. Alternatively via XML or a combination of both. A XML configuration overwrites the annotations.
JPA implementations:
Other approaches are:
Motivation for Hibernate as my JPA choice:
Hibernate became an open source implementation of JPA very fast after the final specification was published. It has a rich feature set and generates new features fast, because an open-source development process tend to be faster then a Java community process.