Hibernate is an open source, object-relational mapping (ORM) library for Java. It provides a framework for mapping an object-oriented domain model to a relational database. Hibernate maps the Java classes to database tables, and Java data types to SQL data types. It also provides data query and retrieval facilities.
Hibernate relieves the programmer from writing SQLs, handling the result-sets and converting the objects. The recent version of Hibernate introduces XML persistence, which is an exciting feature for Java developers. To compensate for the performance overhead, it offers dirty checking functionality. This feature generates update queries only if a field is modified. Hibernate also needs less coding from a developer since it handles most of the core tasks like database handling internally.
Hibernate provides its own query language HQL(Hibernate Query Language), which is similar to SQL. HQL is object oriented and portable. Hibernate also allows you to use native SQL. It is very useful in developing two and three-tier J2EE applications.
The Hibernate Data Type is a good alternative to other Java Style data types like serializable data or entity bean data. Infinity Process Platform also stores only the identifier of a Hibernate object into the Audit Trail. The object will be persisted by the Hibernate persistence layer. You have to configure Hibernate as you have to do it anyway. The advantage over the Entity Bean Data Type is the fact that Hibernate offers a more object-oriented approach. You can map is-a relationships as subclasses.