Hibernate Vs Other ORM Tools


  • Inheritance, Polymorphism Support
  • Custom Data Types
  • Collections
  • Uni and Bi-directional entity Associations
  • Transactions and concurrency
  • Caching
  • Connection Pooling
  • HQL – Advanced Object Query Language etc


  • Needs SQL Statements to be coded in its Mapping files
  • Good when developer needs control over the SQL


  • Very similar and quite powerful but costs
  • Vendor lockin
JPA (Java Persistence API)
  • Java EE 5 ORM Solution
  • Part of EJB 3 Specification
  • Supported by all Java EE vendors
  • Designed based on popular ORM solutions like iBatis, JDO, TopLink including Hibernate
  • Replaces Entity Beans
  • It’s a more of specification; you can use any provider like TopLink etc
  • Depends on provider which may implement more than standard specification
  • JPA lags in defining Caching and other advanced features
  • Useful in case of standard Java based solution using Java EE platform.