溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jpa有哪些優(yōu)勢

發(fā)布時間:2020-10-29 11:40:31 來源:億速云 閱讀:320 作者:小新 欄目:編程語言

jpa有哪些優(yōu)勢?這個問題可能是我們日常學習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純热?,讓我們一起來看看吧?/p>

什么是JPA?

JPA(Java Persistence API),中文名Java持久層API,是Java持久化規(guī)范,它為Java開發(fā)人員提供了一種對象/關聯(lián)映射工具來管理Java應用中的關系數(shù)據(jù)。

JPA的出現(xiàn)主要是為了簡化現(xiàn)有的持久化開發(fā)工作和整合ORM技術,結束現(xiàn)在Hibernate,TopLink,JDO等ORM框架各自為營的局面。

JPA是在充分吸收了現(xiàn)有Hibernate,TopLink,JDO 等ORM框架的基礎上發(fā)展而來的,具有易于使用,伸縮性強等優(yōu)點??偟膩碚f,JPA包括以下3方面的技術:

1、ORM映射元數(shù)據(jù)

JPA支持XML和JDK5.0注解兩種元數(shù)據(jù)的形式,元數(shù)據(jù)描述對象和表之間的映射關系,框架據(jù)此將實體對象持久化到數(shù)據(jù)庫表中;

2、Java持久化API

用來操作實體對象,執(zhí)行CRUD操作,框架在后臺替代我們完成所有的事情,開發(fā)者從繁瑣的JDBC和SQL代碼中解脫出來。

3、查詢語言(JPQL)

這是持久化操作中很重要的一個方面,通過面向對象而非面向數(shù)據(jù)庫的查詢語言查詢數(shù)據(jù),避免程序的SQL語句緊密耦合。

JPA的優(yōu)勢是什么?

1、標準化

JPA 是 JCP 組織發(fā)布的 Java EE 標準之一,因此任何聲稱符合 JPA 標準的框架都遵循同樣的架構,提供相同的訪問 API,這保證了基于JPA開發(fā)的企業(yè)應用能夠經(jīng)過少量的修改就能夠在不同的JPA框架下運行。

2、對容器級特性的支持

JPA 框架中支持大數(shù)據(jù)集、事務、并發(fā)等容器級事務,這使得 JPA 超越了簡單持久化框架的局限,在企業(yè)應用發(fā)揮更大的作用。

3、簡單易用,集成方便

JPA的主要目標之一就是提供更加簡單的編程模型:在JPA框架下創(chuàng)建實體和創(chuàng)建Java 類一樣簡單,沒有任何的約束和限制,只需要使用 javax.persistence.Entity進行注釋;JPA的框架和接口也都非常簡單,沒有太多特別的規(guī)則和設計模式的要求,開發(fā)者可以很容易的掌握。JPA基于非侵入式原則設計,因此可以很容易的和其它框架或者容器集成。

4、可媲美JDBC的查詢能力

JPA的查詢語言是面向對象而非面向數(shù)據(jù)庫的,它以面向對象的自然語法構造查詢語句,可以看成是Hibernate HQL的等價物。JPA定義了獨特的JPQL(Java Persistence Query Language),JPQL是EJB QL的一種擴展,它是針對實體的一種查詢語言,操作對象是實體,而不是關系數(shù)據(jù)庫的表,而且能夠支持批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能夠提供的高級查詢特性,甚至還能夠支持子查詢。

5、支持面向對象的高級特性

JPA中能夠支持面向對象的高級特性,如類之間的繼承、多態(tài)和類之間的復雜關系,這樣的支持能夠讓開發(fā)者最大限度的使用面向對象的模型設計企業(yè)應用,而不需要自行處理這些特性在關系數(shù)據(jù)庫的持久化。

感謝各位的閱讀!看完上述內容,你們對jpa有哪些優(yōu)勢大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

jpa
AI