📜  JavaJDBC和Hibernate的区别

📅  最后修改于: 2021-09-13 02:36:09             🧑  作者: Mango

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

在讨论差异之前,让我们首先了解它们各自的实际含义。

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

Hibernate: Hibernate是一个开源的、非侵入性的、轻量级的Java ORM( Object-relational mapping )框架,用于在所有Java、JEE中开发独立于数据库软件的对象并制定独立的持久化逻辑。它简化了Java应用程序与数据库的交互。 Hibernate 是 JPA(Java Persistence 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.