📜  JDBC和Java的Hibernate之间的区别

📅  最后修改于: 2021-04-17 02:50:44             🧑  作者: Mango

在当前情况下, Java是最强大和流行的服务器端语言之一。服务器端语言的主要功能之一是能够与数据库进行通信。在本文中,让我们了解连接到数据库的两种方式(即JDBC和Hibernate)之间的区别。

在探讨差异之前,让我们首先了解它们各自的真正含义。

JDBC: JDBC代表Java数据库连接。它是一个Java应用程序编程接口,用于在Java编程语言和各种数据库之间建立连接,即,在两者之间建立链接,以便程序员可以从Java代码发送数据并将其存储在数据库中,以用于将来使用。

Hibernate: Hibernate是一个开源的,非侵入性的,轻量级的Java ORM(对象关系映射)框架,用于开发独立于数据库软件的对象,并在所有Java和JEE中建立独立的持久性逻辑。它简化了Java应用程序与数据库的交互。 Hibernate是JPA(Java持久性API)的实现。

下表描述了差异:

S.NO JDBC Hibernate
1. 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.
2. 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. 3. 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.
4. 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.
5. 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.