Hibernate là gì? Giới thiệu hibernate Framework.
(Xem thêm: Tự học Hibernate Framework qua code ví dụ)
1. Hibernate framework là gì?
Hibernate là 1 ORM Framework: thực hiện mapping cơ sở dữ liệu quan hệ sang các object trong ngôn ngữ hướng đối tượng.
Hibernate là 1 Framework cho persistence layer: Thực hiện giao tiếp giữa tầng ứng dụng với tầng dữ liệu (kết nối, truy xuất, lưu trữ…)
2. Kiến trúc hibernate framework.
Mỗi table trong database là một object trong Hibernate. Do đó, bạn cần có một java bean cho mỗi table trong database. Các java bean này sẽ có các getters/setters và một số ngoại lệ theo quy ước của Hibernate.
Mỗi file mapping (ánh xạ) có dạng ***.hbm.xml có nhiệm vụ đặc tả mỗi quan hệ giữa các thuộc tính của đối tượng và các trường trong bảng CSDL (cột nào ứng với thuộc tính nào của class, kiểu giá trị là gì, quan hệ giữa các bảng chuyển thành quan hệ giữa các lớp ra sao…).
File Hibernate.cfg.xml : Đây là tập tin được load đầu tiên khi khởi chạy ứng dụng Hibernate. Nó chứa các thông tin về kết nối (database kết nối là gì (MySQL, Oracle, SQL server…), username và password kết nối với database là gì, tên database được kết nối), driver kết nối…
3. Ưu/nhược điểm khi dùng Hibernate
3.1. Ưu điểm
- Dễ sử dụng: dễ dàng quản lí các kết nối database và dễ fix bug, cung cấp sẵn nhiều API truy vấn
- Tính độc lập: không cần quan tâm tới cơ sở dữ liệu sử dụng khi viết câu lệnh SQL.
- Tính hướng đối tượng: tập trung xử lý theo hướng đối tượng, phù hợp sử dụng trong các case CRUD(Create, Read, Update, Delete)
- Tính tin cậy: Hibernate đã được kiểm thử và khá an toàn trong các truy vấn
3.2. Nhược điểm
- Không hỗ trợ các câu truy vấn phức tạp
- Một số trường hợp vẫn phải dùng native SQL do Hibernate không thể cover hết tất cả các cú pháp của các hệ quản trị cơ sử dữ liệu.
- Bị hạn chế sự can thiệp vào câu lệnh SQl do nó được tự động sinh ra.
Phần tiếp theo: Series Hibernate: Phần 2 Kết nối cơ sở dữ liệu bằng eclipse
Hibernate là gì? Giới thiệu hibernate Framework. stackjava.com
References:
http://docs.jboss.org/hibernate/orm/…Hibernate_User_Guide.html