Hibernate is very useful java framework for object relational mapping and a persistence management for java programmers. It means that you don’t have to write complex sql queries but your java class will deal with database. It also provides in built transaction support. It’s a boon for programmers who don’t like to write complex sql queries , they just have to write simple java coding and internally hibernate converts java code to sql queries. It is also database independent. It means that suppose if your application right now interacts with Oracle database and if you want to transfer to mysql database then you just have make changes in 1 file and you can use mysql database with your application.