Hibernate is the open source framework used to map java classes with any relational database. It provides ORM (Object-Relationship-Mapping) library especially to java language, also written in java. In other words, two different controversy entities to be mapped that is database and java objects.
Quite common question is why it needs to be mapped? In programming world, basically database and application are completely different in behaviour, representation, schema model and etc.
Traditionally data access layer is the connection bridge that handles all database operations like select, insert, update and delete. It is connected via JDBC configuration. The resultset hold the results returned from the database tables which is get iterated using java code as needed. Object conversion and complex iteration become tedious task as in different representation.
Hibernate comes up with best solution which makes smooth database processes .It just mapping the java classes with relation database like Oracle, Sql . It heals developer’s headache from object conversion and iteration algorithms.
The java classes should be synchronizing with database tables. To do so, Hibernate annotate the java classes which would easily be correlated database tables with correct namespace. It includes JDBC setup.
Class name <=> Database table name
Properties <=> Table column
It can be integrated with Java Swing, Struts, and Spring.