Hibernate - Kiến trúc
Hibernate có kiến trúc phân lớp giúp người dùng vận hành mà không cần biết các API cơ bản. Hibernate sử dụng cơ sở dữ liệu và dữ liệu cấu hình để cung cấp các dịch vụ liên tục (và các đối tượng liên tục) cho ứng dụng.
Sau đây là một chế độ xem rất cao của Kiến trúc Ứng dụng Hibernate.
Sau đây là cái nhìn chi tiết về Kiến trúc ứng dụng Hibernate với các lớp cốt lõi quan trọng của nó.
Hibernate sử dụng các API Java hiện có khác nhau, như JDBC, API Giao dịch Java (JTA), và Giao diện Thư mục và Đặt tên Java (JNDI). JDBC cung cấp một mức độ trừu tượng thô sơ của chức năng phổ biến đối với cơ sở dữ liệu quan hệ, cho phép hầu hết mọi cơ sở dữ liệu có trình điều khiển JDBC đều được Hibernate hỗ trợ. JNDI và JTA cho phép Hibernate được tích hợp với các máy chủ ứng dụng J2EE.
Phần sau đây mô tả ngắn gọn về từng đối tượng lớp liên quan đến Kiến trúc ứng dụng Hibernate.
Đối tượng cấu hình
Đối tượng Cấu hình là đối tượng Hibernate đầu tiên bạn tạo trong bất kỳ ứng dụng Hibernate nào. Nó thường chỉ được tạo một lần trong quá trình khởi tạo ứng dụng. Nó đại diện cho cấu hình hoặc tệp thuộc tính được yêu cầu bởi Hibernate.
Đối tượng Cấu hình cung cấp hai thành phần khóa:
Database Connection- Điều này được xử lý thông qua một hoặc nhiều tệp cấu hình được hỗ trợ bởi Hibernate. Những tệp này làhibernate.properties và hibernate.cfg.xml.
Class Mapping Setup - Thành phần này tạo kết nối giữa các lớp Java và các bảng cơ sở dữ liệu.
Đối tượng SessionFactory
Đối tượng cấu hình được sử dụng để tạo một đối tượng SessionFactory, lần lượt cấu hình Hibernate cho ứng dụng bằng cách sử dụng tệp cấu hình được cung cấp và cho phép một đối tượng Session được khởi tạo. SessionFactory là một đối tượng an toàn của luồng và được sử dụng bởi tất cả các luồng của một ứng dụng.
SessionFactory là một đối tượng nặng; nó thường được tạo trong quá trình khởi động ứng dụng và được giữ lại để sử dụng sau này. Bạn sẽ cần một đối tượng SessionFactory cho mỗi cơ sở dữ liệu bằng cách sử dụng một tệp cấu hình riêng biệt. Vì vậy, nếu bạn đang sử dụng nhiều cơ sở dữ liệu, thì bạn sẽ phải tạo nhiều đối tượng SessionFactory.
Đối tượng phiên
Phiên được sử dụng để có được kết nối vật lý với cơ sở dữ liệu. Đối tượng Session có trọng lượng nhẹ và được thiết kế để khởi tạo mỗi khi cần tương tác với cơ sở dữ liệu. Các đối tượng cố định được lưu và truy xuất thông qua một đối tượng Session.
Các đối tượng phiên không nên được mở trong thời gian dài vì chúng thường không an toàn cho luồng và chúng phải được tạo và hủy chúng khi cần thiết.
Đối tượng giao dịch
Giao dịch đại diện cho một đơn vị công việc với cơ sở dữ liệu và hầu hết các RDBMS hỗ trợ chức năng giao dịch. Các giao dịch trong Hibernate được xử lý bởi một người quản lý giao dịch cơ bản và giao dịch (từ JDBC hoặc JTA).
Đây là đối tượng tùy chọn và các ứng dụng Hibernate có thể chọn không sử dụng giao diện này, thay vào đó quản lý các giao dịch bằng mã ứng dụng của riêng chúng.
Đối tượng truy vấn
Các đối tượng truy vấn sử dụng chuỗi SQL hoặc Hibernate Query Language (HQL) để lấy dữ liệu từ cơ sở dữ liệu và tạo đối tượng. Một cá thể Truy vấn được sử dụng để ràng buộc các tham số truy vấn, giới hạn số lượng kết quả được trả về bởi truy vấn và cuối cùng là để thực thi truy vấn.
Đối tượng tiêu chí
Đối tượng tiêu chí được sử dụng để tạo và thực thi các truy vấn tiêu chí hướng đối tượng để truy xuất đối tượng.