post-image

ORM là gì? Tổng quan về ORM Framework

JDBC & Hibernate

1. ORM là gì?

ORM (Object Relational Mapping), là một kỹ thuật/cơ chế lập trình thực hiện ánh xạ CSDL sang các đối tượng trong các ngôn ngữ lập trình hướng đối tượng như Java, C# …(các table tương ứng các class, mối ràng buộc giữa các table tương ứng quan hệ giữa các class ‘has a’ , ‘is a’).

>> Xem ngay Tài liệu Java Core giúp bạn “Nâng Cấp” kỹ năng lập trình

Việc sử dụng ORM cho phép lập trình viên thao tác với database 1 cách hoàn toàn tự nhiên, dễ hiểu thông qua các đối tượng. Lập trình viên không cần tới loại database, kiểu dữ liệu trong database…

ORM là gì? Nên hay không nên sử dụng nó trong dự án của bạn

2. Ưu điểm và nhược điểm của ORM

2.1 Ưu điểm

  • OOP: ORM giúp lập trình viên tập trung vào lập trình hướng đối tượng
  • Quản lý Transaction và tạo ra key tự động.
  • Cho phép đối tượng truy cập code nghiệp vụ thay vì bảng database.
  • Ẩn các chi tiết của các truy vấn SQL từ logic OO.
  • Tính độc lập: Làm việc được với nhiều loại database(hệ quản trị cơ sở dữ liệu), nhiều kiểu dữ liệu khác nhau. Dễ dàng thay đổi loại database hơn. Các câu lệnh SQL không phụ thuộc vào loại database.
  • Đơn giản, dễ sử dụng: Hỗ trợ HSQL, cung cấp nhiều nhiều API truy vấn.
  • Năng suất hơn: viết code ít hơn, dễ hiểu hơn. Phù hợp các case CRUD (Create, Read, Update, Delete)
  • Khả năng sử dụng lại code.

THAM GIA KHÓA HỌC LẬP TRÌNH

2.2 Nhược điểm

  • Hiệu suất thấp: kết quả so sánh với jdbc thì hibernate có hiệu suất thấp hơn.
  • Khó tối ưu câu lệnh SQL (do câu lệnh SQL được ORM tự động sinh ra).
  • Phức tạp: khó khăn cho người mới tìm hiểu.

3. Cách thức hoạt động của ORM.

Đặc trưng cơ bản của ORM là gói gọn CSDL trong 1 object. 1 phần của object sẽ chứa data, và phần còn lại lo việc data xử lý như nào và biến nó thành CSDL quan hệ.

TÀI LIỆU HỌC LẬP TRÌNH

ORM giải quyết vấn đề đồng bộ giữa kiểu dữ liệu trả về khác nhau. Một bên là cơ sở dữ liệu, ở đó dữ liệu được thể hiện dưới dạng tập hợp các bản ghi. Một bên là các đối tượng, ở đó dữ liệu đc hiện thị dưới dạng object.

data representation in a relational database
data representation orm

Tham khảo các bài viết khác:

Để lại một bình luận

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 *