Sự khác biệt giữa JDBC và Hibernate

JDBC so với Hibernate

Kết nối cơ sở dữ liệu Java (còn được gọi là JDBC) là một API được xây dựng riêng cho ngôn ngữ lập trình Java. Nó xác định cách khách hàng có thể truy cập cơ sở dữ liệu bằng cách cung cấp các phương thức để truy vấn và cập nhật dữ liệu trong cơ sở dữ liệu. Nó được định hướng cụ thể hơn đối với cơ sở dữ liệu quan hệ. Nó lần đầu tiên được giới thiệu ra thị trường như là một phần của Nền tảng Java 2, Phiên bản tiêu chuẩn, phiên bản 1.1 (hoặc J2SE). Nó được gói cùng với một cầu nối triển khai JDBC tới ODBC, cho phép các kết nối với API tới bất kỳ nguồn dữ liệu có thể truy cập ODBC nào trong môi trường máy chủ JVM.

Hibernate là một thư viện ánh xạ hướng đối tượng (hoặc thư viện ORM) được xây dựng riêng cho ngôn ngữ Java. Nó cung cấp một khung để ánh xạ một mô hình miền hướng đối tượng vào cơ sở dữ liệu quan hệ truyền thống. Nó cũng giải quyết các vấn đề không khớp trở kháng quan hệ đối tượng - đó là, các vấn đề trong đó một hệ thống quản lý cơ sở dữ liệu quan hệ (hoặc RDBMS) đang được sử dụng bởi một chương trình được viết bằng ngôn ngữ hoặc kiểu lập trình hướng đối tượng. Nó thực hiện điều này bằng cách thay thế các truy cập cơ sở dữ liệu liên quan đến tính bền vững trực tiếp bằng các hàm xử lý mức cao. Nó là phần mềm mã nguồn mở miễn phí và được phân phối theo Giấy phép Công cộng GNU Ít hơn.

JDBC hoạt động bằng cách cho phép một loạt các triển khai tồn tại và được sử dụng bởi cùng một ứng dụng. Nó cung cấp một cơ chế theo đó các gói Java chính xác được tải động và đăng ký với Trình quản lý trình điều khiển JDBC - được sử dụng như một nhà máy kết nối, tạo ra các kết nối JDBC. Những kết nối này hỗ trợ việc tạo và thực hiện các câu lệnh. Chúng có thể là các câu lệnh cập nhật (ví dụ: SQL CREATE, INSERT, UPDATE và DELETE). Chúng cũng có thể là các câu lệnh truy vấn như CHỌN. Một kết nối JDBC cũng có thể gọi các thủ tục được lưu trữ - đó là, các thủ tục được lưu trữ trong từ điển dữ liệu cơ sở dữ liệu.

Hibernate chủ yếu là các chức năng để ánh xạ từ các lớp Java sang các bảng cơ sở dữ liệu, cũng như từ các kiểu dữ liệu Java thành các kiểu dữ liệu SQL. Nó cũng cung cấp các cơ sở truy vấn và truy xuất dữ liệu. Nó có thể tạo các cuộc gọi SQL, do đó giải phóng nhà phát triển khỏi việc xử lý tập kết quả thủ công và chuyển đổi đối tượng. Điều này giữ cho ứng dụng có thể di động tới tất cả các cơ sở dữ liệu SQL được hỗ trợ thông qua thư viện. Nó ánh xạ các lớp Java vào các bảng cơ sở dữ liệu bằng cách định cấu hình tệp XML (trong đó Hibernate có thể tạo mã nguồn khung xương cho các lớp bền vững) hoặc sử dụng Chú thích Java (tạo ra hành động trước đó). Hibernate cũng hỗ trợ ánh xạ các loại giá trị tùy chỉnh, giúp tạo ra ba kịch bản cụ thể: ghi đè loại SQL mặc định, được Hibernate chọn khi ánh xạ một cột vào thuộc tính; ánh xạ Java Enum vào các cột như thể chúng là các thuộc tính thông thường; và ánh xạ một thuộc tính vào nhiều cột.

Tóm lược:

1. JDBC là một API xác định cách khách hàng có thể truy cập cơ sở dữ liệu; Hibernate là một thư viện ORM cung cấp khung để ánh xạ mô hình miền hướng đối tượng vào cơ sở dữ liệu quan hệ truyền thống.

2. JDBC cho phép các triển khai khác nhau tồn tại và được sử dụng bởi cùng một ứng dụng; Bản đồ ngủ đông từ các lớp Java đến các bảng cơ sở dữ liệu.