Wednesday, July 29, 2020

Difference between JDBC and Hibernate in Java

Oracle JDBC, Oracle Hibernate, Oracle Java Tutorial and Material, Oracle Java Exam Prep

Java is one of the most powerful and popular server-side languages in the current scenario. One of the main features of a server-side language is the ability to communicate with the databases. In this article, let’s understand the difference between two ways of connecting to the database (i.e.) JDBC and Hibernate.

Before getting into the differences, let us first understand what each of them actually means.

JDBC: JDBC stands for Java Database Connectivity. It is a java application programming interface to provide a connection between the Java programming language and a wide range of databases (i.e), it establishes a link between the two so that a programmer could send data from Java code and store it in the database for future use.

Hibernate: Hibernate is an open-source, non-invasive, light-weight java ORM(Object-relational mapping) framework to develop objects which are independent of the database software and make independent persistence logic in all JAVA, JEE. It simplifies the interaction of java applications with databases. Hibernate is an implementation of JPA(Java Persistence API).

The following table describes the differences:

JDBC   HIBERNATE 
In JDBC, one needs to write code to map the object model’s data representation to the schema of the relational model.  Hibernate maps the object model’s data to the schema of the database itself with the help of annotations. 
JDBC enables developers to create queries and update data to a relational database using the Structured Query Language (SQL).  Hibernate uses HQL (Hibernate Query Language) which is similar to SQL but understands object-oriented concepts like inheritance, association etc. 
JDBC code needs to be written in a try catch block as it throws checked exception(SQLexception).  Whereas Hibernate manages the exceptions itself by marking them as unchecked. 
JDBC is database dependent i.e. one needs to write different codes for different database.  Whereas Hibernate is database independent and same code can work for many databases with minor changes. 
Creating associations between relations is quite hard in JDBC.  Associations like one-to-one, one-to-many, many-to-one, and many-to-many can be acquired easily with the help of annotations. 

Related Posts

0 comments:

Post a Comment