Cơ bản về Hibernate

Hibernate, như mình nói trong bài viết này, ngoài hiện thực JPA specification, nó còn hiện thực riêng một framework của riêng nó để kết nối và thao tác với các hệ quản trị cơ sở dữ liệu. Trong bài viết đầu tiên này về Hibernate, mình sẽ đi thẳng vào một ví dụ sử dụng Hibernate để lấy dữ liệu từ database lên cho các bạn dễ hình dung về Hibernate và cách làm việc của nó. Sự khác nhau so với phần hiện thực của Hibernate cho JPA như thế nào?

OK, đầu tiên mình sẽ tạo một Maven project để làm ví dụ:

Cơ bản về Hibernate

Trong đó, Hibernate dependency như sau:

Trong bài viết này, mình sẽ sử dụng MySQL database nên mình cũng sẽ thêm MySQL Driver dependency như sau:

Project Lombok:

Trong ví dụ này, mình sẽ định nghĩa một database chứa thông tin của lớp học và những sinh viên của lớp học đó như sau:

Các bước chuẩn bị đã xong, giờ chúng ta bắt đầu đi vào phần chính nhé các bạn.

Đầu tiên, để có thể thao tác với các bảng clazz và students trong database, chúng ta sẽ ánh xạ các bảng, các cột của những table này qua thành những Java object trước (ORM). Hibernate với framework của chính mình cũng sử dụng khái niệm gọi là entity như trong JPA nha các bạn!

Tiếp theo, để làm việc với Hibernate chúng ta cần phải có một tập tin cấu hình. Trong tập tin này chúng ta sẽ khai báo loại database mà chúng ta sẽ sử dụng, những thông tin cần thiết để Hibernate có thể kết nối đến database đó và những Java object mà chúng ta đã ánh xạ từ các bảng trong database.

Như các bạn thấy, thông tin về database, username, password và thông tin về những Java object được khai báo rất chi tiết trong tập tin cấu hình của Hibernate. Ngoài ra, chúng ta còn có thể khai báo thêm những thông tin khác như hiển thị câu lệnh SQL, định dạng câu lệnh SQL, … Mình sẽ nói kỹ hơn về những cái này trong những bài viết tiếp theo về Hibernate nha các bạn.

Thông thường, chúng ta đặt tập tin cấu hình của Hibernate trong thư mục /src/main/resources/ của project.

Cơ bản về Hibernate

OK, chúng ta đã có tập tin cấu hình, vậy giờ làm thế nào để đưa những cấu hình đó vào để sử dụng trong project của chúng ta?

Hibernate hỗ trợ chúng ta làm điều đó bằng cách sử dụng đối tượng Configuration để đưa cấu hình của chúng ta vào một đối tượng hiện thực interface SessionFactory.

Và giờ chúng ta có thể sử dụng đối tượng SessionFactory để sử dụng trong ứng dụng của chúng ta rồi.

Đầu tiên, chúng ta cần mở một session để làm việc với Hibernate bằng cách:

Để bắt đầu làm việc, chúng ta sẽ mở một Transaction mới:

Ví dụ để thêm mới một lớp, chúng ta sẽ khởi tạo mới đối tượng Clazz, 

Thêm tên gọi cho đối tượng Clazz này:

Và ngay bây giờ các bạn có thể dùng đối tượng Session để lưu đối tượng Clazz trên vào database.

Rất đơn giản phải không các bạn, để kiểm tra có thật sự đối tượng Clazz  của chúng ta đã được lưu vào database hay chưa? Các bạn có thể code tiếp:

Toàn bộ code như sau:

Kết quả:

Cơ bản về Hibernate

OK, đến đây chắc các bạn đã có những hình dung ban đầu về cách mà chúng ta sẽ làm việc với Hibernate như thế nào, phải không các bạn? Trong bài viết kế tiếp mình sẽ nói rõ thêm một số khái niệm cơ bản để các bạn nắm kỹ hơn nhé.


4/5 - (4 bình chọn)

3 thoughts on “Cơ bản về Hibernate

Add Comment