JPA LÀ GÌ

  -  

JPA là gì?

Spring Boot JPA là một phiên bản ghi cụ thể của Java để thống trị dữ liệu quan hệ trong các ứng dụng Java. Nó cho phép chúng ta truy cập và lưu trữ dữ liệu giữa các object/class Java và database quan lại hệ. JPA tuân theo Object-Relation Mapping (ORM). Nó là 1 trong tập hợp các interface. Nó cũng cung ứng một API EntityManager runtime nhằm xử lý những câu query và giao dịch thanh toán trên những object dựa trên database. Nó sử dụng ngữ điệu truy vấn hướng đối tượng độc lập nền tảng JPQL (Java Persistent Query Language).JPA bao gồm ba lĩnh vực:The Java Persistence APIObject-Relational metadataBản thân API, được tư tưởng trong persistence package.JPA không phải là một trong những framework. Nó khái niệm một khái niệm có thể được tiến hành bởi bất kỳ framework nào.

Bạn đang xem: Jpa là gì

Tại sao họ nên sử dụng JPA?

JPA đơn giản hơn, gọn gàng hơn cùng ít tốn công sức của con người hơn là JDBC, SQL hay ánh xạ viết tay. JPA thích hợp cho những ứng dụng phức hợp không tuân theo hiệu suất. Ưu điểm chủ yếu của JPA so với JDBC là: trong JPA, dữ liệu được thể hiện bằng những object với class trong khi trong JDBC dữ liệu được màn trình diễn bằng những bảng và bản ghi. Nó sử dụng POJO để trình diễn dữ liệu liên tiếp giúp đơn giản dễ dàng hóa câu hỏi lập trình database. Bao gồm một số ưu thế khác của JPA:JPA kiêng viết ngôn ngữ Định Nghĩa tài liệu (DDL) bởi phương ngữ SQL dành cho database. Cầm vào kia nó chất nhận được ánh xạ vào XML hoặc sử dụng các annotation Java.JPA đến phép họ tránh viết Ngôn Ngữ thao tác Dữ Liệu (DML) bằng phương ngữ SQL giành cho database.JPA đến phép họ save với load các object với đồ thị Java cơ mà không cần ngẫu nhiên ngôn ngữ DML nào.Khi chúng ta cần tiến hành các truy vấn JPQL, nó cho phép họ viết những truy vấn dưới dạng các entity Java mà chưa hẳn là bảng với cột SQL.

Tính năng JPA

Có các tính năng sau của JPA:Là một repository khỏe khoắn và object-mapping abstraction tùy chỉnh .Hỗ trợ cho cross-store persistence. Tức là một entity có thể được lưu trữ một phần trong MySQL cùng Neo4j (Hệ thống thống trị cơ sở tài liệu đồ thị).Tự cồn tạo các truy vấn tự ngay thiết yếu tên các phương thức truy vấn vấn.Các lớp phụ thuộc tên miền cung ứng các nằm trong tính cơ bản.Hỗ trợ kiểm tra thống trị minh bạch.Khả năng tích vừa lòng mã repository tùy chỉnh.Dễ dàng tích phù hợp với Spring Framework với namespace tùy chỉnh.

Kiến trúc JPA

JPA là 1 trong những nguồn để lưu trữ những entity doanh nghiệp lớn dưới dạng những entity quan tiền hệ. Nó chỉ ra biện pháp định nghĩa POJO là 1 entity với cách cai quản các entity quan lại hệ.Hình sau trình bày kiến trúc các cấp độ class của JPA, cùng các class và interface cốt lõi mà được định nghĩa trong package javax persistence. Bản vẽ xây dựng JPA chứa những đơn vị sau đây:Persistence: là một class chứa những phương thức tĩnh để đưa một instance EntityManagerFactory.EntityManagerFactory: là một class Factory của EntityManager. Nó sản xuất và quản lý nhiều instance EntityManager.EntityManager: Nó là một trong giao diện. Nó kiểm soát các vận động liên tục trên các đối tượng. Nó chuyển động cho phiên bản Truy vấn.Entity: Các entity là các đối tượng người dùng lưu trữ dài lâu như một bản ghi trong database.Persistence Unit: định nghĩa một tập hợp tất cả các class entity. Trong một ứng dụng, những instance EntityManager quản lý nó. Tập hợp những class entity thay mặt cho dữ liệu được đựng trong một kho tài liệu duy nhất.

Xem thêm: Meaning Of Customer Base Là Gì ? Đây Là Một Thuật Ngữ Kinh Tế Tài Chính

EntityTransaction: có mối quan hệ 1:1 với những class EntityManager. Đối với mỗi EntityManager, các hoạt động được bảo trì bởi class EntityTransaction.Query (Lệnh truy vấn vấn): là một interface được triển khai bởi từng nhà hỗ trợ JPA để sở hữu được các object quan liêu hệ thỏa mãn nhu cầu các tiêu chí.architecture

Mối quan hệ giới tính class JPA

Các class cùng interface họ đã đàm luận ở trên bảo trì một mọt quan hệ. Hình dưới đây cho thấy thêm mối quan hệ giữa các class và interface.Mối quan hệ giới tính giữa EntityManager và EntiyTransaction là 1:1. Bao gồm một instance EntityTransaction cho mỗi hoạt rượu cồn EntityManager.Mối quan hệ tình dục giữa EntityManageFactory cùng EntiyManager là một-nhiều. Nó là một trong class factory chứa các instance EntityManager.Mối quan hệ nam nữ giữa EntityManager cùng Query là một-nhiều. Chúng ta cũng có thể thực hiện ngẫu nhiên số lượt truy vấn nào bằng phương pháp sử dụng một instance của class EntityManager.Mối quan hệ tình dục giữa EntityManager với Entity là một-nhiều. Một instance EntityManager gồm thể thống trị nhiều entity.

Triển khai JPA

JPA là 1 API mã mối cung cấp mở. Có nhiều nhà cung cấp doanh nghiệp khác nhau như Eclipse, RedHat, Oracle, v.v. Cung ứng các thành phầm mới bằng cách thêm JPA vào vào sản phẩm. Có một trong những framework xúc tiến JPA thịnh hành như Hibernate, EclipseLink, DataNucleus, v.v. Nó có cách gọi khác là công cụ Object-Relation Mapping (ORM).

Object-Relation Mapping (ORM)

Trong ORM, ánh xạ (mapping) các đối tượng người sử dụng Java tới những bảng database và ngược lại được gọi là Object-Relation Mapping. Ánh xạ ORM chuyển động như một cầu nối giữa database quan hệ (bảng và phiên bản ghi) và ứng dụng Java (các class và object).Trong hình sau, layer ORM là một trong layer đưa đổi. Nó điều chỉnh ngôn ngữ của đồ thị object sang ngữ điệu của SQL và những bảng quan hệ.

Xem thêm: Sửa Lỗi Unable To Initialize Steam Api Pes 2021, Download Pes 2017 Full Patch 2020 Google Drive

Layer ORM mãi mãi giữa vận dụng và database. Nó đổi khác các class và object Java nhằm chúng rất có thể được lưu trữ và thống trị trong database quan tiền hệ. Theo khoác định, thương hiệu class biến đổi tên của bảng và những trường trở nên cột. Lúc 1 ứng dụng thiết lập, mỗi sản phẩm trong bảng tương ứng với một object.

Phiên phiên bản JPA

Các phiên bạn dạng trước của EJB tư tưởng persistence layer kết phù hợp với lớp xúc tích nghiệp vụ bằng cách sử dụng interface javax.ejb.EntityBean. Đặc điểm EJB bao hàm cả việc khẳng định JPA.Trong khi giới thiệu EJB 3.0, persistence layer sẽ được bóc ra và được hướng dẫn và chỉ định là JPA 1.0 (Java Persistence API). Các đặc điểm kỹ thuật của API này đang được thi công cùng với các đặc điểm kỹ thuật của JAVA EE5 vào trong ngày 11 tháng 5 năm 2006, sử dụng JSR 220.Năm 2019, JPA đổi tên thành Jakarta Persistence. Phiên phiên bản mới độc nhất của JPA là 2.2. Nó cung ứng các tài năng sau:Java 8, API tài liệu và thời gianCDI Injection vào AttributeConvertesTạo ra các annotation