Hibernate vs JDBC

This section is better understanding of how hibernate is differ from JDBC.

Hibernate vs JDBC

Hibernate vs JDBC

This section is better understanding of how hibernate is differ from JDBC.

Before comparing, its necessary to understand the terms Hibernate and JDBC.

Overview of Hibernate :

Hibernate is an ORM based Open Source persistence programming technology of JAVA. It provides Object/Relational mapping library and high performance query services.
It solves object-relational impedance mismatch problems. Hibernate works as a bridge between application and database.

Overview of JDBC:

JDBC is short form Java DataBase Connectivity. It is Java-based technology for handling data of database, developed by Sun Microsystems.
It permits user to connect with database and provides methods for querying and updating data by using the Structured query language(SQL).
JDBC API renders user to work on different RDBMS although user is not much familiar to these. A JDBC-to-ODBC bridge enables connections
to any ODBC-accessible data source in the JVM host environment.

Hibernate Vs JDBC:

Here is some comparing points which represent how hibernate is better than JDBC.

1.By using JDBC it is very complicated task to work with Object oriented software and relational database.
As by using JDBC you need to write the code for mapping data of your object model as well as code for
its corresponding database schema. So you can say in JDBC you have to do manual mapping for object model's data representation.
Hibernate provide a very flexible Object/Relational mapping feature. It maps java classes to database tables by using xml files.
So no need to write code for it.

2.Hibernate provides different way of querying as native SQL, Hibernate Query Language(HQL)
and a highly object oriented concept of criteria. JDBC supports only native SQL.

3.JDBC is database dependent so for database connection you need to write code whereas hibernate automatically connect to the database by using the xml configuration file.

4.Using JDBC, you need to write lots of code and query to handle database tables. If you do any changes in database or table then there is need of change code and query too.
Hibernate provides this mapping itself. the only need to do change in the xml file properties.

5..Maintenance cost of JDBC is high as lots of code is required to handle JDBC result set and conversion of java objects.
Hibernate reduces the length of code as it provide direct mapping between object and table. So the maintenance cost and
also development time are reduced.

6.Hibernate introduces the concept of Transparent Persistence which easily handle cache and fix it to application work space.
In JDBC ,caching is maintained by writing code manually.

7.Hibernate allows dirty checking feature. It saves developer's time and effort in updating of database when states of objects are modified inside a transaction.
Hibernate automatically detects the object states whenever changed and synchronized with the database in order to update. In JDBC updating is done every time manually.