Tổng quan về JPA (Java Persistence API) bạn cần nắm rõ

JPA cung cấp đầy đủ công cụ cho phép chúng ta có thể thao tác với CSDL đơn giản và nhanh chóng. JPA có thể dùng để persist đối tượng Java (POJO - Plain Old Java Object) vào trong CSDL hoặc lấy dữ liệu từ CSDL và ánh xạ (mapping) các đối tượng Java một cách đơn giản.

JPA là gì?

JPA (Java Persistence API) là đặc tả Java cho việc ánh xạ các đối tượng Java với CSDL quan hệ sử dụng một công nghệ phổ biến là ORM (Object Relational Mapping). JPA liên quan đến tính bền bỉ, không phải tất cả các đối tượng Java cần phải được duy trì, nhưng hầu hết các ứng dụng vẫn tồn tại các đối tượng nghiệp vụ chính. Đặc tả JPA cho phép bạn xác định đối tượng nào nên được duy trì và cách các đối tượng đó nên được duy trì trong các ứng dụng Java của bạn.

Ví dụ: bảng users với cột (id, username, password) sẽ tương ứng với class User.java có các thuộc tính id, username, password.

ORM là gì?

Mặc dù khác nhau về cách thực thi, nhưng mọi triển khai JPA đều cung cấp một số loại lớp ORM. Để hiểu được JPA và các công cụ tương thích với JPA, bạn cần phải nắm rõ về ORM. ORM (Object Relational Mapping) là kỹ thuật/cơ chế lập trình thực hiện ánh xạ CSDL sang đối tượng trong các ngôn ngữ lập trình hướng đối tượng. Việc sử dụng ORM cho phép lập trình viên thao tác với database tự nhiên, dễ hiểu thông qua các đối tượng.

orm là gì

Ưu điểm của ORM

Nhược điểm

Một số ORM framework

JPA là một API định nghĩa các đặc tả cần thiết và không có code hiện thực từ những đặc tả đó. Nó chứa những hướng dẫn để hiện thực ORM. Do đó cần phải có cài đặt ORM để hoạt động và persist các đối tượng Java. Các ORM Framework có thể sử dụng cho JPA như:

Trong đó hibernate được sử dụng phổ biến nhất

Hibernate

Hibernate là 1 ORM framework cho phép lập trình viên thao tác với database hoàn toàn tự nhiên thông qua các đối tượng. Lập trình viên không cần quan tâm đến loại database sử dụng, SQL,… Kiến trúc Hibernate:

Kiến trúc Hibernate

Kiến trúc JPA

Thành phần Mô tả EntityManager Là một interface, nó cung cấp các API cho việc tương tác với Entity Entity Entity là cá đối tượng, được lưu trữ dưới dạng bản ghi trong database EntityManagerFactory Được sử dụng để tạo instance của EntityManager EntityTransaction Có mối quan hệ 1-1 với EntityManager, các hoạt động được duy trì bởi lớp EntityTransaction Persistence Lớp này chứa các phương thức static để lấy instance EntityManagerFactory Query Đây là interface, được thực hiện bởi mỗi nhà cung cấp JPA để có được các đối tượng quan hệ đáp ứng các tiêu chí truy vấn

Các lớp và interface được sử dụng lưu trữ các thực thể vào database dưới dạng bản ghi. Giúp lập trình viên giảm bớt việc viết code để lưu trữ dữ liệu vào database để có thể tập chung vào các công việc quan trọng hơn.

Tài liệu tham khảo:

Lương Thuận

Link nội dung: https://truyenhay.edu.vn/jpa-la-gi-a68286.html