中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

JPA包括哪些方面的技術

發布時間:2022-01-05 18:05:24 來源:億速云 閱讀:187 作者:iii 欄目:大數據

本篇內容主要講解“JPA包括哪些方面的技術”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“JPA包括哪些方面的技術”吧!

前言

JPA由EJB 3.0軟件專家組開發,作為JSR-220實現的一部分。但它不囿于EJB 3.0,你可以在Web應用、甚至桌面應用中使用。JPA的宗旨是為POJO提供持久化標準規范,由此可見,經過這幾年的實踐探索,能夠脫離容器獨立運行,方便開發和測試的理念已經深入人心了。目前Hibernate 3.2、TopLink 10.1.3以及OpenJPA都提供了JPA的實現

內容

JPA(Java Persistence API)是SUN官方推出的Java持久化規范,它為Java開發人員提供了一種對象/關聯映射工具來管理Java應用中的關系數據。它的出現主要是為了簡化現有的持久化開發工作和整合ORM技術,結束現在Hibernate,TopLink,JDO等ORM框架各自為營的局面。值得注意的是,JPA是在充分吸收了現有Hibernate,TopLink,JDO 等ORM框架的基礎上發展而來的,具有易于使用,伸縮性強等優點。從開發社區的反映上看,JPA手動極大的支持和贊揚,其中就包括了Spring與EJB3.0的開發團隊,著眼未來幾年的技術走向,JPA作為ORM領域的標準化者的目標應該不難實現。

JPA包括一下三方面的技術

*ORM映射元數據

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

*Java持久化API

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

*查詢語言(JPQL)

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

JPA的優勢

1 標準化

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

2 對容器級特性的支持

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

3 簡單易用,集成方便

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

4 可媲美JDBC的查詢能力

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

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

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

提示:

  JPA不是一種新的ORM框架,他的出現只是用于規范現有的ORM技術,他不能取代現有的Hibernate,TopLink等ORM框架。相反,在采用JPA開發時,我們仍將用到這些ORM框架,只是此時出來的應用不再依賴與某個持久化供應商。應用可以在不修改代碼的情況下在任何JPA環境下運行,真正做到低耦合,可擴展的程序設計。  簡單說,JPA干的就是Hibernate干的活,他們的作用是一樣的。但是,JPA只是一套規范,不是一套產品,Hibernate已經是一套產品了。

JPA主要是為了簡化現有的持久化開發工作和整合ORM技術,結束現在Hibernate,Toplink,JDO等ORM框架各自為營的局面。之前學的Hibernate,實際上我們面對的是Hibernate的API進行開發,這有什么不好哪,是我們跟Hibernate這個產品緊密的耦合在了一起,如果離開了Hibernate我們是無法在別的ORM框架中使用我們的應用。使用JPA后,你的應用就可以運行在實現了JPA規范的持久化產品中(如Hibernate,TopLink,JDO)

JPA這門技術是未來發展的必然趨勢,以后我們要采用ORM技術呢,我們就不會在面對Hibernate編程,不會在面對TopLink編程,而是面對JPA規范編程,就是說,過了幾年之后,我們的應用就會很少面對Hibernate API進行編程,這是為什么呢,這就好比以前我們訪問數據庫一樣,假設沒有JDBC這門技術的話,我們跟各個數據庫鏈接只能使用各個數據庫廠商給我們提供的API進行數據庫鏈接了,自從有了JDBC后,我們就不再需要面對數據庫廠商給我們提供的API進行數據庫進行鏈接了,而是直接使用JDBC這套規范就可以跟各個數據庫進行對接。目前JPA跟Hibernate,TopLink的關系也是一樣的,JPA就和JDBC一樣提供一種通用的,訪問各個ORM實現產品的橋梁工具。通過JPA技術,我們只需要面對它的規范編程,編出的應用就可以應用在各個持久化產品中(包括Hibernate和TopLink),就是說底層產品對我來說已經不重要了。

JPA的供應商

JPA 的目標之一是制定一個可以由很多供應商實現的API,并且開發人員可以編碼來實現該API,而不是使用私有供應商特有的API。因此開發人員只需使用供應商特有的API來獲得JPA規范沒有解決但應用程序中需要的功能。盡可能地使用JPA API,但是當需要供應商公開但是規范中沒有提供的功能時,則使用供應商特有的API。

1.Hibernate

2.Spring

3.OpenJPA

4.其它

目前支持的實現包括Toplink、Hibernate Entitymanager等。TopLink以前需要收費,如今開源了。OpenJPA雖然免費,但功能、性能、普及性等方面更加需要加大力度。

到此,相信大家對“JPA包括哪些方面的技術”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

jpa
AI

湘潭县| 巩留县| 长沙县| 庆阳市| 乌海市| 诸暨市| 胶南市| 湛江市| 绥棱县| 昌平区| 大荔县| 即墨市| 安康市| 沅陵县| 读书| 武冈市| 甘南县| 海晏县| 汨罗市| 巢湖市| 剑河县| 玉田县| 玉山县| 西昌市| 八宿县| 广宗县| 大同市| 淳安县| 海宁市| 青田县| 东丰县| 霍林郭勒市| 丰县| 中西区| 息烽县| 高尔夫| 万州区| 荆州市| 信宜市| 泰州市| 三穗县|