Java Object Persistence

JPA - Java Persistence API

The Java Persistence API (JPA) provides a POJO (Plain Old Java Object) persistence model for object-relational mapping. The new Java Persistence API was introduced with Java EE 5 platform, to simplify, improve and standardize the development of Java EE and Java SE applications using data persistence. This API draws upon the best ideas from persistence technologies such as Hibernate, TopLink, and JDO, however it provides to the entire Java community a single, standard persistence API with freedom to choose a provider (implementation). Developed as part of JSR-220 — EJB 3.0 Technology —, JPA integrates smoothly and consistently with the rest of the simplifications to the EJB 3.0 APIs.

JDO - Java Data Objects

Java Persistence Frameworks

  • Javangelist :: Object-Relational (OR) Mapper Frameworks
    Extensive listing of Object-Relational mapping frameworks.
  • Object Relational Tool Comparison
    This page has been created to compare Java ObjectRelationalMapping layers. This should help potential users to make an educated choice of O/R technology and to better understand the existing products.
  • Hibernate
    Hibernate: Object/Relational Mapping and Transparent Object Persistence for Java. Hibernate joined JBoss Group (September 2003) and is future backbone of JBossDO and JBoss CMP.
    Hibernate is a powerful, ultra-high performance object/relational persistence and query service for Java. Hibernate lets you develop persistent objects following common Java idiom (association, inheritance, polymorphism, composition, collections). Hibernate supports all major relational database management systems and ODMG 3 interface. It is Free Software (LGPL).
    SourceForge Project: Hibernate.
    Alternate URL:
  • Oracle TopLink
    Oracle Application Server TopLink Java object-to-relational persistence software integrates the object and relational data worlds, allowing applications to transparently store and retrieve Java objects using relational databases. TopLink was acquired from WebGain, which in turn had adquired it from ObjectPeople.
  • OJB - ObJectRelationalBridge
    By the Apache DB Project. ObJectRelationalBridge (OJB) is an Object/Relational mapping tool that allows transparent persistence for Java Objects against relational databases. OJB supports multiple persistence APIs: ODMG 3.0, Sun Java Data Objects (JDO), Object Transaction Manager (OTM), a low-level PersistenceBroker API.
  • Apache iBATIS
    The iBATIS Data Mapper framework makes it easier to use a database with Java and .NET applications. iBATIS couples your own objects with stored procedures or SQL statements using a XML descriptor. Simplicity is the biggest advantage of the iBATIS Data Mapper over object relational mapping tools. SourceForge projects: iBATIS for Java (ibatisdb) & iBATIS.NET.
  • Castor
    Castor is an Open Source data binding framework for Java. It's a short path between Java objects, XML documents and relational tables. Castor provides Java-to-XML binding, Java-to-SQL persistence, and more.
  • Prevayler
    Prevayler is a free-software Prevalence layer for Java. Ridiculously simple, Prevalence is by far the fastest and most transparent persistence, fault-tolerance and load-balancing architecture for Plain Old Java Objects (POJOs).
  • TriActive JDO (TJDO)
    TriActive JDO (TJDO) is an open source implementation of Sun's JDO specification (JSR 12), designed to support transparent persistence using any JDBC-compliant database. TJDO has been deployed and running successfully in many commercial installations since 2001.
  • DataNucleus Access Platform
    DataNucleus Access Platform is a standards-compliant Open Source Java persistence product. It is fully compliant with the JDO1, JDO2, JDO2.1, JDO2.2 and JPA1 Java standards. It also complies with the OGC Simple Feature Specification for persistence of geospatial Java types. It utilises an OSGi-based plugin mechanism meaning that it is extremely extensible. It is also free for use. DataNucleus replaces JPOX - Java Persistent Objects JDO.