We know Enterprise applications use persistent systems to store the data for later processing. There are various type persistent system like Relational databases and Object databases. Many object oriented programming languages make use of relational databases for data persistent. Java is one of them. Java provides JDBC API to deal with Relational Database Systems (RDBMS) and it works quite well until data model of any application is very complex.
But using JDBC API we need to take care:
'Object-Relational Impedance Mismatch' (sometimes called the 'paradigm mismatch') is just a fancy way of saying that object models and relational models do not work very well together. RDBMSs represent data in a tabular format, whereas object-oriented languages, such as Java, represent it as an interconnected graph of objects.
Loading and storing graphs of objects using a tabular relational database exposes us to 5 mismatch problems…
A system/framework/tool is needed that can
A framework for persisting / saving Java objects in a database. The official website of hibernate frameworks is www.hibernate.org