Hibernate is a powerful, high performance object/relational persistence and query service. It works in sync with the SPRING framework.
(More at IBM ) Hibernate lets you develop persistent classes following object-oriented idiom – including association, inheritance, polymorphism, composition, and collections. Hibernate allows you to express queries in its own portable SQL extension (HQL), as well as in native SQL, or with an object-oriented Criteria and Example API.
Hibernate’s primary feature is mapping from Java classes to database tables (and from Java data types to SQL data types). This is accomplished mainly with the help of XML and Java automation. Hibernate also provides data query and retrieval facilities. Hibernate generates the SQL calls and relieves the developer from manual result set handling and object conversion, keeping the application portable to all supported SQL databases, with database portability delivered at very little performance overhead. Though Hibernate is not the best solutions for data centric applications that only uses the stored-procedures to implement the business logic in database; it is most useful with object-oriented domain modes and business logic in the Java-based middle-tier. Hibernate allows transparent persistence that enables the applications to switch any database. Hibernate can be used in Java Swing applications, Java Servlet-based applications, or J2EE applications using EJB session beans.
For .Net the framework modifies itself as NHibernate. It is an Object – relational mapping (ORM) solution that provides a framework for mapping an object-oriented domain model to a traditional relational database. Its purpose is to relieve the developer from a significant portion of relational data persistence-related programming tasks.
For more details and release histories for HIBERNATE, visit Hibernate : Official Site