JPA - Giới thiệu
Bất kỳ ứng dụng doanh nghiệp nào cũng thực hiện các hoạt động cơ sở dữ liệu bằng cách lưu trữ và truy xuất một lượng lớn dữ liệu. Bất chấp tất cả các công nghệ hiện có để quản lý lưu trữ, các nhà phát triển ứng dụng thường phải vật lộn để thực hiện các hoạt động cơ sở dữ liệu một cách hiệu quả.
Nói chung, các nhà phát triển Java sử dụng rất nhiều mã hoặc sử dụng khuôn khổ độc quyền để tương tác với cơ sở dữ liệu, trong khi sử dụng JPA, gánh nặng tương tác với cơ sở dữ liệu giảm đáng kể. Nó tạo thành cầu nối giữa mô hình đối tượng (chương trình Java) và mô hình quan hệ (chương trình cơ sở dữ liệu).
Sự không khớp giữa mô hình quan hệ và mô hình đối tượng
Các đối tượng quan hệ được biểu diễn dưới dạng bảng, trong khi các mô hình đối tượng được biểu diễn dưới dạng biểu đồ liên kết của định dạng đối tượng. Trong khi lưu trữ và truy xuất một mô hình đối tượng từ cơ sở dữ liệu quan hệ, một số không khớp xảy ra do những lý do sau:
Granularity : Mô hình đối tượng có độ chi tiết hơn mô hình quan hệ.
Subtypes : Các kiểu con (có nghĩa là kế thừa) không được hỗ trợ bởi tất cả các loại cơ sở dữ liệu quan hệ.
Identity : Giống như mô hình đối tượng, mô hình quan hệ không tiết lộ danh tính trong khi viết bình đẳng.
Associations : Các mô hình quan hệ không thể xác định nhiều mối quan hệ trong khi xem xét một mô hình miền đối tượng.
Data navigation : Điều hướng dữ liệu giữa các đối tượng trong mạng đối tượng là khác nhau trong cả hai mô hình.
JPA là gì?
Java Persistence API là một tập hợp các lớp và phương thức để lưu trữ liên tục một lượng lớn dữ liệu vào cơ sở dữ liệu do Oracle Corporation cung cấp.
Sử dụng JPA ở đâu?
Để giảm bớt gánh nặng viết mã cho việc quản lý đối tượng quan hệ, một lập trình viên tuân theo khuôn khổ 'Nhà cung cấp JPA', cho phép tương tác dễ dàng với cá thể cơ sở dữ liệu. Ở đây, khung bắt buộc được JPA tiếp quản.
Lịch sử JPA
Các phiên bản trước đó của EJB, lớp bền vững được xác định kết hợp với lớp logic nghiệp vụ bằng cách sử dụng Giao diện javax.ejb.EntityBean.
Trong khi giới thiệu EJB 3.0, lớp bền vững đã được tách ra và được chỉ định là JPA 1.0 (Java Persistence API). Các thông số kỹ thuật của API này đã được phát hành cùng với các thông số kỹ thuật của JAVA EE5 vào ngày 11 tháng 5 năm 2006 sử dụng JSR 220.
JPA 2.0 được phát hành với các thông số kỹ thuật của JAVA EE6 vào ngày 10 tháng 12 năm 2009 như một phần của Quy trình cộng đồng Java JSR 317.
JPA 2.1 được phát hành với đặc điểm kỹ thuật của JAVA EE7 vào ngày 22 tháng 4 năm 2013 sử dụng JSR 338.
Nhà cung cấp JPA
JPA là một API mã nguồn mở, do đó các nhà cung cấp doanh nghiệp khác nhau như Oracle, Redhat, Eclipse, v.v. cung cấp các sản phẩm mới bằng cách thêm hương vị bền vững JPA vào chúng. Một số sản phẩm này bao gồm:
Hibernate, Eclipselink, Toplink, Spring Data JPA, etc.