Java Persistence/Persistence Products

Category:Book:Java Persistence#Persistence%20Products%20

There are many persistence products to choose from. Most persistence products now support a JPA interface, although there still are some exceptions. Which product you use depends on your preference, but most people would recommend you use the JPA standard whichever product you choose. This gives you the flexibility to switch persistence providers, or port your application to another server platform which may use a different persistence provider.

Determining which persistence product to use involves many criteria. Valid things to consider include:

  • Which persistence product does your server platform support and integrate with?
  • What is the cost of the product, is it free and open source, can you purchase enterprise level support and services?
  • Do you have an existing relationship with the company producing the product?
  • Is the product active and does it have a large user base?
  • How does the product perform and scale?
  • Does the product integrate with your database platform?
  • Does the product have active and open forums, do questions receive useful responses?
  • Is the product JPA compliant, what functionality does the product offer beyond the JPA specification?

Existing Persistence Products

The following table summarises existing persistence products.[1]

ProductJPA 1.0JPA 2.0JPA 2.1JPA 2.2JDO 2.0JDO 3.0CMP 2.1VersionYear of Last ReleaseOpen SourceApplication Servers[2]
ObjectDB (ObjectDB Software)YesYesYesYes
2.7.5
2018
Yes
Hibernate (Red Hat)YesYesYesYes
5.4.0
2018
YesJBoss AS/Wildfly
EclipseLink (Eclipse)YesYesYesYes
2.6.3
2016
YesOracle Weblogic (12c), Glassfish (v3)
TopLink (Oracle)YesYesYes
12c (12.1.3)
2014
Oracle Weblogic (12c), OracleAS (10.1.3)
OpenJPA (Apache)YesYes
2.4.1
2016
YesGeronimo, WebSphere Application Server (8.0)
DataNucleus (DataNucleus)YesYesYesYesYesYes
5.0.0
2016
Yes
TopLink Essentials (java.net)Yes
2.0
2007
YesGlassfish (v2), SunAS (9), OracleAS (10.1.3)
Kodo (Oracle)YesYes
4.1
2007
Oracle WebLogic (10.3)
  1. Last updated 2016-07-05
  2. Application server that includes the product as their JPA implementation
Category:Book:Java Persistence#Persistence%20Products%20 Category:Book:Java Persistence/Persistence Products#Persistence%20Products
Category:Book:Java Persistence Category:Book:Java Persistence/Persistence Products