RSS Feed for This PostCurrent Article

Alternative ORM Tool to Hibernate

Here are some alternatives to Hibernate


Apache OpenJPA is a Java EE persistence project of the Apache Software Foundation. It is a feature-rich implementation of the persistence part of Enterprise Java Beans 3.0, also known as the Java Persistence API (JPA), and is available under the terms of the Apache Software License. OpenJPA can be used as a stand-alone POJO persistence layer, or it can be integrated into any EJB3.0 compliant container and many lightweight frameworks.


The Eclipse Persistence Services Project (EclipseLink) project’s goal is to provide a complete persistence framework that is both comprehensive and universal. It will run in any Java environment and read and write objects to virtually any type of data source, including relational databases, XML, or EIS systems. EclipseLink will focus on providing leading edge support, including advanced feature extensions, for the dominant persistence standards for each target data source; Java Persistence API (JPA) for relational databases, Java Architecture for XML Binding (JAXB) for XML, J2EE Connector Architecture (JCA) for EIS and other types of legacy systems, and Service Data Objects (SDO).

TopLink Essentials

The Enterprise JavaBeans (EJB) 3.0 specification includes an additional persistence specification called the Java Persistence API (JPA). It is an API for creating, removing and querying across lightweight Java objects and can be used both within a compliant EJB 3.0 Container and a standard Java SE 5 environment.

TopLink Essentials is the open-source community edition of Oracle’s TopLink product. It provides the JPA 1.0 functionality for the EJB 3.0Reference Implementation.

As of Oracle TopLink 11g, TopLink Essentials has been replaced with EclipseLink JPA. EclipseLink JPA implements JPA 1.0 and is responsible for delivering the persistence framework.

Trackback URL

RSS Feed for This Post1 Comment(s)

  1. Rob | Nov 11, 2009 | Reply

    You could also add Ebean ORM ( to this list.

    - Uses JPA annotations for mapping – @Entity, @OneToMany etc
    - Simple API to use and learn
    - Session-less, no merge() persist() flush()
    - Lazy loading just works
    - “Partial Object” support
    - LGPL

    Cheers, Rob.

RSS Feed for This PostPost a Comment

Refresh Image