Blogs

Giới Thiệu Về Hibernate Java Là Gì ? Sao Phải Dùng Nó Thay Jdbc

Bạn đang quan tâm đến Giới Thiệu Về Hibernate Java Là Gì ? Sao Phải Dùng Nó Thay Jdbc phải không? Nào hãy cùng VCCIDATA đón xem bài viết này ngay sau đây nhé, vì nó vô cùng thú vị và hay đấy!

XEM VIDEO Giới Thiệu Về Hibernate Java Là Gì ? Sao Phải Dùng Nó Thay Jdbc tại đây.

1 Hibernate Framework là gì?1.3 Hibernate2 Kiến trúc Hibernate3 Tại sao nên dùng Hibernate thay vì JDBC

Hibernate Framework là gì?

ORM

Như chúng ta đã biết, ORM (Object Relational Mapping) framework là một cơ chế cho phép người lập trình thao tác với database một cách hoàn toàn tự nhiên thông qua các đối tượng. Lập trình viên hoàn toàn không quan tâm đến loại database sử dụng SQL Server, MySQL, PostgreSQL, …

ORM giúp đơn giản hoá việc tạo ra dữ liệu, thao tác dữ liệu và truy cập dữ liệu. Đó là một kỹ thuật lập trình để ánh xạ đối tượng vào dữ liệu được lưu trữ trong cơ sở dữ liệu.

Đang xem: Hibernate java là gì

*
*
*
*
*

Persistence object

Chính là các POJO object map với các table tương ứng của cơ sở dữ liệu quan hệ. Nó như là những container chứa dữ liệu từ ứng dụng để lưu xuống database, hay chứa dữ liệu tải lên ứng dụng từ database.

Configuration

Là đối tượng Hibernate đầu tiên bạn tạo trong bất kỳ ứng dụng Hibernate nào và chỉ cần tạo một lần trong quá trình khởi tạo ứng dụng. Nó đại diện cho một tập tin cấu hình hoặc thuộc tính yêu cầu của Hibernate. Đối tượng Configuration cung cấp hai thành phần chính:

Database Connection: Thao tác này được xử lý thông qua một hoặc nhiều tệp cấu hình được Hibernate hỗ trợ. Các tệp này là hibernate.propertieshibernate.cfg.xml.Class Mapping Setup: Thành phần này tạo ra kết nối giữa các lớp Java và các bảng cơ sở dữ liệu.

XEM THÊM:  Bạc Sterling Silver Là Gì ? Vì Sao Trang Sức Bạc 925 Lại Rẻ?

Session Factory

Là một interface giúp tạo ra session kết nối đến database bằng cách đọc các cấu hình trong Hibernate configuration.

SessionFactory là đối tượng nặng (heavy weight object) nên thường nó được tạo ra trong quá trình khởi động ứng dụng và lưu giữ để sử dụng sau này.

SessionFactory là một đối tượng luồng an toàn (Thread-safe) và được sử dụng bởi tất cả các luồng của một ứng dụng.

Mỗi một database phải có một session factory. 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. Giả sử ta sử dụng MySQL và Oracle cho ứng dụng Java của mình thì ta cần có một session factory cho MySQL, và một session factory cho Oracle.

Hibernate Session

Một session được sử dụng để có được một kết nối vật lý với một cơ sở dữ liệu. Đối tượng Session là nhẹ và được thiết kế để được tạo ra instance mỗi khi tương tác với cơ sở dữ liệu. Các đối tượng liên tục được lưu và truy xuất thông qua một đối tượng Session.

Xem thêm: Cần Lưu Ý Gì Khi Mua Đồng Hồ Mặt Chữ Nhật Dây Da Hàng Tốt, Ship Cod Tận Nhà

Các đối tượng Session không nên được mở trong một thời gian dài bởi vì chúng thường không phải là luồng an toàn (thread-unsafe) và chúng cần được tạo ra và được đóng khi cần thiết.

Mỗi một đối tượng session được Session factory tạo ra sẽ tạo một kết nối đến database.

XEM THÊM:  Thủy Triều Là Gì - Nguyên Nhân Sinh Ra Thủy Triều

Transation

Một Transaction đại diện cho một đơn vị làm việc với cơ sở dữ liệu và hầu hết các RDBMS hỗ trợ chức năng transaction. Các transaction trong Hibernate được xử lý bởi trình quản lý transaction và transaction (từ JDBC hoặc JTA).

Transaction đảm bảo tính toàn vẹn của phiên làm việc với cớ sở dữ liệu. Tức là nếu có một lỗi xảy ra trong transaction thì tất cả các tác vụ thực hiện sẽ thất bại.

Transaction là một đối tượng tùy chọn và các ứng dụng Hibernate có thể chọn không sử dụng interface này, thay vào đó quản lý transaction trong code ứng dụng riêng.

Query

Các đối tượng Query sử dụng chuỗi truy vấn SQL (Native SQL) hoặc Hibernate Query Language (HQL) để lấy dữ liệu từ cơ sở dữ liệu và tạo các đối tượng.

Criteria

Đối tượng Criteria được sử dụng để tạo và thực hiện các tiêu chí truy vấn để lấy các đối tượng từ database.

Tại sao nên dùng Hibernate thay vì JDBC

Object Mapping

Với JDBC ta phải map các trường trong bảng với các thuộc tính của Java object một cách “thủ công”. Với Hibernate sẽ hỗ trợ ta map một cách “tự động” thông qua các file cấu hình map XML hay sử dụng các anotation.

Xem thêm: Hướng Dẫn Cách Đặt Tên Công Ty Cổ Phần Đầu Tư Tiếng Anh Là Gì

JDBC sẽ map Java object với table như sau:

//rs là ResultSet trả về từ câu query get dữ liệu bảng user.List users = new ArrayList();while(rs.next()) { User user = new User(); user.setId(rs.getInt(“id”)); user.setUsername(rs.getString(“username”)); user.setPassword(rs.getString(“password”)); user.setCreatedDate(rs.getDate(“createdDate”)); users.add(user); }Cũng với table user đó sử dụng các anotaion để Hibernate có thể map một cách “tự động” như sau.

XEM THÊM:  Anthocyanin Là Gì - 7 Loại Thực Phẩm Màu Tím Chứa Anthocyanin

Vậy là đến đây bài viết về Giới Thiệu Về Hibernate Java Là Gì ? Sao Phải Dùng Nó Thay Jdbc đã dừng lại rồi. Hy vọng bạn luôn theo dõi và đọc những bài viết hay của chúng tôi trên website VCCIDATA.COM.VN

Chúc các bạn luôn gặt hái nhiều thành công trong cuộc sống!

Related Articles

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Back to top button