Jpa Là Gì

JPA là gì?

Spring Boot JPAlà 1 trong những phiên bản ghi chi tiết của Java để thống trị dữ liệuquan liêu hệtrong những ứng dụng Java. Nó được cho phép bọn họ truy cập cùng lưu trữ dữ liệu giữa những object/class Java cùng database quan hệ giới tính. JPA tuân theoObject-Relation Mapping(ORM). Nó là một trong những tập thích hợp các interface. Nó cũng cung ứng một APIEntityManagerruntime để cách xử lý những câu query cùng giao dịch thanh toán bên trên các object dựa trên database. Nó áp dụng ngữ điệu truy hỏi vấn hướng đối tượng người dùng tự do căn nguyên JPquốc lộ (Java Persistent Query Language).JPA bao hàm bố lĩnh vực:The Java Persistence APIObject-RelationalmetadataBản thân API, được tư tưởng vào persistence package.JPA chưa hẳn là 1 framework. Nó định nghĩa một khái niệm rất có thể được thực hiện bởi vì bất kỳ framework như thế nào.

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

Tại sao bọn họ đề nghị sử dụng JPA?

JPA đơn giản dễ dàng rộng, Gọn gàng hơn cùng không nhiều tốn sức lực lao động rộng là JDBC, Squốc lộ tuyệt ánh xạ viết tay. JPA tương thích cho những vận dụng phức hợp không tuân theo hiệu suất. Ưu điểm chủ yếu của JPA đối với JDBC là: vào JPA, dữ liệu được bộc lộ bằng các object và class trong khi vào JDBC tài liệu được biểu diễn bằng những bảng và bản ghi. Nó thực hiện POJO để trình diễn tài liệu thường xuyên giúp đơn giản hóa việc thiết kế database. Có một số ưu điểm không giống của JPA:JPA rời viết Ngôn Ngữ Định Nghĩa Dữ Liệu (DDL) bằng phương thơm ngữ SQL dành cho database. Thay vào kia nó chất nhận được ánh xạ trong XML hoặc thực hiện các annotation Java.JPA cho phép họ tách viết Ngôn Ngữ Thao Tác Dữ Liệu (DML) bởi phương thơm ngữ SQL giành riêng cho database.JPA chất nhận được bọn họ save với load những object và đồ dùng thị Java mà không đề xuất ngẫu nhiên ngôn từ DML làm sao.khi họ bắt buộc tiến hành những truy tìm vấn JPquốc lộ, nó chất nhận được bọn họ viết những tầm nã vấn dưới dạng các entity Java nhưng không hẳn là bảng với cột SQL.

Tính năng JPA

Có những kỹ năng sau của JPA:Là một repository khỏe mạnh vàobject-mapping abstractiontùy chỉnh.Hỗ trợ chocross-store persistence. Tức là 1 trong những entity hoàn toàn có thể được lưu trữ 1 phần vào MySQL và Neo4j (Hệ thống cai quản cửa hàng dữ liệu thứ thị).Tự đụng tạo các truy vấn từ bỏ ngay lập tức thiết yếu tên những cách làm truy nã vấn.Các lớp nhờ vào tên miền hỗ trợ những trực thuộc tính cơ bản.Hỗ trợ kiểm soát thống trị biệt lập.Khả năng tích hợp mã repository tùy chỉnh.Dễ dàng tích hợp với Spring Framework cùng với namespace tùy chỉnh thiết lập.

Kiến trúc JPA

JPA là 1 trong những nguồn nhằm lưu trữ những entity doanh nghiệp lớn bên dưới dạng những entity quan hệ. Nó chỉ ra rằng giải pháp tư tưởng POJO là 1 entity và cách cai quản những entity quan hệ nam nữ.Hình sau biểu đạt bản vẽ xây dựng những Lever class của JPA, thuộc các class và interface cốt tử nhưng được quan niệm vào packagejavax persistence. Kiến trúc JPA chứa các đơn vị sau đây:Persistence:là 1 trong những class chứa những cách làm tĩnh để lấy một instance EntityManagerFactory.EntityManagerFactory:là một class Factory của EntityManager. Nó tạo thành với làm chủ các instance EntityManager.EntityManager:Nó là 1 bối cảnh. Nó kiểm soát các chuyển động thường xuyên bên trên những đối tượng người sử dụng. Nó chuyển động cho phiên bản Truy vấn.Entity:Các entity là các đối tượng tàng trữ vĩnh viễn như một bản ghi vào database.Persistence Unit:tư tưởng một tập thích hợp toàn bộ các class entity. Trong một áp dụng, các instance EntityManager quản lý nó. Tập đúng theo các class entity đại diện mang lại tài liệu được đựng vào một kho tài liệu độc nhất vô nhị.

Xem thêm: Luật Trò Chơi Dân Gian: Ô Ăn Quan Cho Trẻ Em, Cách Chơi Ô Ăn Quan 5 Ô

EntityTransaction:gồm quan hệ 1:1 với các class EntityManager. Đối với mỗi EntityManager, những chuyển động được gia hạn bởi vì class EntityTransaction.Query (Lệnh tầm nã vấn):là 1 trong những interface được tiến hành bởi mỗi bên cung cấp JPA để có được những object quan hệ nam nữ đáp ứng các tiêu chuẩn.architecture

Mối dục tình class JPA

Các class cùng interface bọn họ sẽ bàn luận ở trên duy trì một quan hệ. Hình sau đây cho biết mối quan hệ thân những class với interface.Mối dục tình thân EntityManager cùng EntiyTransaction là1:1. Có một instance EntityTransaction cho mỗi vận động EntityManager.Mối quan hệ nam nữ giữa EntityManageFactory và EntiyManager làmột-nhiều. Nó là 1 class factory cất các instance EntityManager.Mối quan hệ tình dục giữa EntityManager với Query làmột-nhiều. Chúng ta hoàn toàn có thể triển khai ngẫu nhiên số lượt truy vấn nào bằng cách thực hiện một instance của class EntityManager.Mối tình dục giữa EntityManager cùng Entity làmột-nhiều. Một instance EntityManager có thể thống trị các entity.

Triển khai JPA

JPA là 1 trong những API mã mối cung cấp mở. Có nhiều bên cung ứng công ty khác biệt như Eclipse, RedHat, Oracle, v.v. hỗ trợ các sản phẩm mới toanh bằng phương pháp thêm JPA vào vào sản phẩm. Có một vài framework thực thi JPA thịnh hành nhưHibernate, EclipseLink, DataNucleus,v.v. Nó còn gọi là công cụObject-Relation Mapping(ORM).

Object-Relation Mapping (ORM)

Trong ORM, ánh xạ (mapping) những đối tượng người dùng Java cho tới các bảng database với ngược lại được call làObject-Relation Mapping.Ánh xạ ORM chuyển động như một cầu nối giữadatabase quan liêu hệ(bảng với phiên bản ghi) vàứng dụng Java(những class và object).Trong hình sau, layer ORM là 1 trong những layer chuyển đổi. Nó điều chỉnh ngôn ngữ của thứ thị object quý phái ngôn từ của SQL với các bảng quan hệ tình dục.Layer ORM trường thọ giữa vận dụng cùng database. Nó biến hóa các class và object Java để chúng hoàn toàn có thể được tàng trữ cùng cai quản vào database quan hệ tình dục. Theo mặc định, thương hiệu class đổi thay tên của bảng cùng các ngôi trường biến cột. Khi một áp dụng tùy chỉnh thiết lập, mỗi mặt hàng trong bảng khớp ứng với cùng một object.

Phiên bản JPA

Các phiên bạn dạng trước của EJB định nghĩa persistence layer kết phù hợp với lớp xúc tích và ngắn gọn nhiệm vụ bằng cách thực hiện interfacejavax.ejb.EntityBean. điểm lưu ý EJB bao gồm cả câu hỏi xác minh JPA.Trong khi ra mắt EJB 3.0, persistence layer đã làm được bóc ra với được chỉ định và hướng dẫn là JPA 1.0 (Java Persistence API). Các điểm lưu ý chuyên môn của API này đã được phát hành với những Điểm lưu ý nghệ thuật của JAVA EE5 vào ngày 11 tháng 5 năm 2006, sử dụng JSR 220.Năm 2019, JPA thay tên thànhJakarta Persistence. Phiên bạn dạng mới nhất của JPA là2.2. Nó cung cấp những hào kiệt sau:Java 8, API tài liệu và thời gianCDI Injection vào AttributeConvertesTạo ra những annotation
| W88Vuive