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

Anonim

JDBC vs. Hibernate

Kết nối cơ sở dữ liệu Java (còn gọi là JDBC) là một API được xây dựng đặc biệt cho ngôn ngữ lập trình Java. Nó định nghĩa làm thế nào một khách hàng có thể truy cập vào một cơ sở dữ liệu bằng cách cung cấp các phương pháp để 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ó đã được giới thiệu lần đầu tiên trên thị trường như là một phần của nền tảng Java 2, Standard Edition, phiên bản 1. 1 (hoặc J2SE). Nó đã được đóng gói cùng với một JDBC triển khai thực hiện cho ODBC bridge, cho phép kết nối với API tới bất kỳ nguồn dữ liệu nào có thể truy cập ODBC trong môi trường máy chủ JVM.

Hibernate là một thư viện lập bản đồ hướng đối tượng (hoặc thư viện ORM) được xây dựng đặc biệt cho ngôn ngữ Java. Nó cung cấp một khuôn khổ để lập bản đồ một mô hình miền hướng đối tượng sang một cơ sở dữ liệu quan hệ truyền thống. Nó cũng giải quyết các vấn đề không đối xứng trở lại 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ệ (hay RDBMS) đang được sử dụng bởi một chương trình được viết bằng một ngôn ngữ lập trình hướng đối tượng hoặc theo phong cách. Nó hoàn thành việc này bằng cách thay thế truy cập cơ sở dữ liệu liên tục bền bỉ liên quan đến các chức năng xử lý ở mức cao. Đây là phần mềm nguồn mở miễn phí và được phân phối theo Giấy phép Công cộng của GNU Lesser General Public.

JDBC hoạt động bằng cách cho phép một loạt các hiện thực 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ế để các gói Java chính xác được nạp và đăng ký tự động với Trình quản lý Driver 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. Các kết nối này hỗ trợ tạo và thực hiện các câu lệnh. Họ có thể là báo cáo cập nhật (SQLs CREATE, REPLACE, UPDATE, và DELETE, ví dụ). Chúng cũng có thể là câu truy vấn như SELECT. Một kết nối JDBC cũng có thể gọi các thủ tụ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 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 loại dữ liệu Java sang các kiểu dữ liệu SQL. Nó cũng cung cấp truy vấn dữ liệu và các cơ sở thu hồi. Nó có thể tạo các cuộc gọi SQL, do đó làm giảm nhà phát triển từ xử lý tập kết quả thủ công và chuyển đổi đối tượng. Điều này sẽ giúp ứng dụng này có thể di chuyển đến 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 một tệp tin XML (trong đó Hibernate có thể tạo ra mã nguồn xương cho các lớp persistence) hoặc sử dụng Java Annotation (làm cho sự kiện trước đó). Hibernate cũng hỗ trợ lập bản đồ các loại giá trị tùy chỉnh, làm cho ba kịch bản cụ thể có thể: trọng hơn kiểu SQL mặc định, được chọn bởi Hibernate khi ánh xạ một cột vào một thuộc tính; lập bản đồ Java Enum cho các cột như thể chúng là thuộc tính thường xuyên; và lập bản đồ một thuộc tính duy nhất cho nhiều cột.

Tóm tắt:

1. JDBC là một API định nghĩa 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 một khuôn khổ để lập bản đồ một mô hình miền hướng đối tượng cho một cơ sở dữ liệu quan hệ truyền thống.

2. JDBC cho phép thực hiện khác nhau tồn tại và được sử dụng bởi cùng một ứng dụng; Hibernate bản đồ từ các lớp Java sang bảng cơ sở dữ liệu.