日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java-JPA:JPA

發布時間:2025/7/14 java 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java-JPA:JPA 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ylbtech-Java-JPA:JPA
JPA是Java Persistence API的簡稱,中文名Java持久層API是JDK 5.0注解或XML描述對象-關系表的映射關系,并將運行期的實體對象持久化到數據庫中。
Sun引入新的JPA ORM規范出于兩個原因:其一,簡化現有Java EE和Java SE應用開發工作其二,Sun希望整合ORM技術,實現天下歸一
1.返回頂部
1、 中文名:Java 持久層 API?外文名:Java Persistence API類????別:專業術語領????域:IT,編程語????言:Java

目錄

  • 1?起源
  • 2?優勢
  • ??標準化
  • ??簡單方便
  • ??查詢能力
  • ??高級特性
  • 3?供應商
  • ??Hibernate
  • ??Spring
  • ??OpenJPA
  • ??小結
  • 2、
    2.返回頂部
    1、

    起源

    JPA由EJB 3.0軟件專家組開發,作為JSR-220實現的一部分。但它又不限于EJB 3.0,你可以在Web應用、甚至桌面應用中使用。JPA的宗旨是為POJO提供持久化標準規范,由此可見,經過這幾年的實踐探索,能夠脫離容器獨立運行,方便開發和測試的理念已經深入人心了。Hibernate3.2+、TopLink 10.1.3以及OpenJPA都提供了JPA的實現。 JPA的總體思想和現有Hibernate、TopLink、JDO等ORM框架大體一致。總的來說,JPA包括以下3方面的技術: ORM映射元數據 JPA支持XML和JDK5.0注解兩種元數據的形式,元數據描述對象和表之間的映射關系,框架據此將實體對象持久化到數據庫表中; API 用來操作實體對象,執行CRUD操作,框架在后臺替代我們完成所有的事情,開發者從繁瑣的JDBC和SQL代碼中解脫出來。 查詢語言 這是持久化操作中很重要的一個方面,通過面向對象而非面向數據庫的查詢語言查詢數據,避免程序的SQL語句緊密耦合。

    優勢

    標準化

    JPA 是 JCP 組織發布的 Java EE 標準之一,因此任何聲稱符合 JPA 標準的框架都遵循同樣的架構,提供相同的訪問API,這保證了基于JPA開發的企業應用能夠經過少量的修改就能夠在不同的JPA框架下運行。 容器級特性的支持 JPA框架中支持大數據集、事務、并發等容器級事務,這使得 JPA 超越了簡單持久化框架的局限,在企業應用發揮更大的作用。

    簡單方便

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

    查詢能力

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

    高級特性

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

    供應商

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

    Hibernate

    JPA是需要Provider來實現其功能的,Hibernate就是JPA Provider中很強的一個,應該說無人能出其右。從功能上來說,JPA就是Hibernate功能的一個子集。Hibernate 從3.2開始,就開始兼容JPA。Hibernate3.2獲得了Sun TCK的JPA(Java Persistence API) 兼容認證。 只要熟悉Hibernate或者其他ORM框架,在使用JPA時會發現其實非常容易上手。例如實體對象的狀態,在Hibernate有自由、持久、游離三種,JPA里有new,managed,detached,removed,明眼人一看就知道,這些狀態都是一一對應的。再如flush方法,都是對應的,而其他的再如說Query query = manager.createQuery(sql),它在Hibernate里寫法上是session,而在JPA中變成了manager,所以從Hibernate到JPA的代價應該是非常小的 同樣,JDO,也開始兼容JPA。在ORM的領域中,看來JPA已經是王道,規范就是規范。在各大廠商的支持下,JPA的使用開始變得廣泛。

    Spring

    Spring + Hibernate 常常被稱為 Java Web 應用人氣最旺的框架組合。而在 JCP 通過的 Web Beans JSR ,卻欲將JSF + EJB + JPA 、來自 JBoss Seam(Spring 除外)的一些組件和EJB 3(能夠提供有基本攔截和依賴注入功能的簡化 Session Bean框架)的一個 Web 組合進行標準化。Spring 2.0 為 JPA 提供了完整的 EJB容器契約,允許 JPA在任何環境內可以在 Spring 管理的服務層使用(包括 Spring 的所有DI 和 AOP增強)。同時,關于下一個Web應用組合會是 EJB、Spring + Hibernate 還是 Spring + JPA 的論戰,早已充斥于耳。 在Spring 2.0.1中,正式提供對JPA的支持,這也促成了JPA的發展,要知道JPA的好處在于可以分離于容器運行,變得更加的簡潔。

    OpenJPA

    OpenJPA?是 Apache 組織提供的開源項目,它實現了 EJB 3.0 中的 JPA 標準,為開發者提供功能強大、使用簡單的持久化數據管理框架。OpenJPA 封裝了和關系型數據庫交互的操作,讓開發者把注意力集中在編寫業務邏輯上。OpenJPA 可以作為獨立的持久層框架發揮作用,也可以輕松的與其它 Java EE 應用框架或者符合 EJB 3.0 標準的容器集成。 支持的實現包括Toplink、Hibernate Entitymanager等。TopLink以前需要收費,如今開源了。OpenJPA雖然免費,但功能、性能、普及性等方面更加需要加大力度。 對于EJB來說,實體Bean一直是被批評的對象,由于其太復雜和龐大。JPA的出現,很大程度的分離了復雜性。這讓EJB的推廣也變得容易。 總而言之,JPA規范主要關注的僅是API的行為方面,而由各種實現完成大多數性能有關的調優。盡管如此,所有可靠的實現都應該擁有某種數據緩存,以作為選擇。但愿不久的將來,JPA能成為真正的標準。

    小結

    EJB 3.0和JPA 毫無疑問將是Java EE 5的主要賣點。在某些領域中,它們給Java社區帶來了競爭優勢,并使Java 在其他領域與競爭對手不分伯仲(因為,不可否認,某些領域尚不存在基于標準的方法)。 過去數年來,Spring Framework一直是EJB在企業領域的主要競爭對手。EJB 3.0規范解決了很多促進Spring興起的問題。隨著它的出現,EJB3.0毫無疑問比Spring提供了更好的開發體驗——最引人注目的優勢是它不需要配置文件。 JPA提供一種標準的OR映射解決方案,該解決方案完全集成到EJB3.0兼容的容器中。JPA的前輩將會繼續穩定發展,但是業務應用程序中的 raw 使用將可能會減少。實現 JPA 兼容的實體管理器似乎很可能是此類技術的發展方向。 Java EE系列規范的較大問題與JPA沒有任何關系。Java EE 系列規范的問題涉及到 Web和EJB容器之間的集成。Spring在此領域仍然具有主要競爭優勢。JBoss的Seam項目嘗試使用自定義的方法來解決這一問題。Caucho Resin應用服務器試圖擴展容器邊界并支持在Web容器中使用@EJB注釋。我們希望Java EE 5.1將解決層集成的問題,為我們提供一個全面而標準的依賴性注入方法。 在不久的將來,Oracle可能會將JPA作為一個單獨的JSR對待,同時JPA還可能作為Java SE的一部分。不過這些都不太重要,重要的是,我們已經可以在脫離容器的情況下、在Java SE應用中使用JPA了。 JPA已經作為一項對象持久化的標準,不但可以獲得Java EE應用服務器的支持,還可以直接在Java SE中使用。開發者將無需在現有多種ORM框架中艱難地選擇,按照Sun的預想,現有ORM框架頭頂的光環將漸漸暗淡,不再具有以往的吸引力。 2、
    3.返回頂部
    4.返回頂部
    5.返回頂部
    1、 https://baike.baidu.com/item/JPA/5660672 2、
    6.返回頂部
    作者:ylbtech
    出處:http://ylbtech.cnblogs.com/
    本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

    轉載于:https://www.cnblogs.com/storebook/p/10978564.html

    總結

    以上是生活随笔為你收集整理的Java-JPA:JPA的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 一起草最新网址 | 一区二区三区入口 | 实拍澡堂美女洗澡av | 好吊操视频这里只有精品 | 四虎5151久久欧美毛片 | 日韩av伦理 | 亚洲码中文 | 亚洲高清av| 欧美成人精品一区二区综合免费 | 最新理伦片eeuss影院 | 女大学生的家政保姆初体验 | 中文天堂在线观看 | 色综合久久88 | 国产精品刘玥久久一区 | 香蕉网久久 | 亚洲成人精品一区 | www.男女| 欧美成人精品一区二区免费看片 | 狠狠艹狠狠干 | 男女视频在线 | 国产一区二区自拍视频 | 亚洲无码久久久久 | 调教女m荡骚贱淫故事 | 一级黄色网址 | 春色av| 精品人妻久久久久一区二区三区 | 神宫寺奈绪一区二区三区 | 黄瓜视频色版 | 日韩中文字幕电影 | 精品91在线 | 国产视频久久久久久 | 热久久亚洲 | 爱爱一区 | 超碰免费在线播放 | 99视频国产精品 | 天天干夜夜欢 | 办公室大战高跟丝袜秘书经理ol | 轻轻草在线视频 | 日韩欧美资源 | 国产精品久久久久久一区二区三区 | 男女黄色又爽大片 | 日韩色一区 | 美女免费福利视频 | 91伦理视频 | 姐姐的秘密韩剧免费观看全集中文 | 理想之城连续剧40集免费播放 | 一区二区三区在线免费观看 | 精品产国自在拍 | www插插插无码免费视频网站 | 国产原创在线观看 | 欧美老熟妇乱大交xxxxx | 日韩精品视频网站 | 第一次破处视频 | 爱情岛亚洲论坛入口 | 亚洲天堂av电影 | 美女aaa| 女同动漫免费观看高清完整版在线观看 | 国产精品一线二线三线 | 亚洲国产日韩一区二区 | 精品人妻av在线 | 欧美色视频一区二区三区 | 色婷婷久久久亚洲一区二区三区 | 91色精品| 日韩国产传媒 | 天天拍夜夜操 | 国产老熟妇精品观看 | 韩产日产国产欧产 | 2023av在线 | 久久久国产一区 | 精品久久久久久亚洲精品 | 日韩少妇高潮抽搐 | 老牛影视av一区二区在线观看 | 久久久久久久久久亚洲 | 日本在线有码 | 脱美女衣服亲摸揉视频 | 欧美1区2区 | 亚洲无码精品在线观看 | 中文字幕a级片 | 日本三区视频 | 国产精品欧美久久久久久 | 好屌妞视频这里只有精品 | 99视频热 | 国产乱人伦app精品久久 | 久久av资源 | 日韩大片在线免费观看 | 日批视频免费播放 | 黄色av片三级三级三级免费看 | 欧美精品videos另类 | 特极毛片 | 91美女视频 | 国产嫩草影院久久久 | 自拍在线视频 | 久操操| 日本午夜三级 | 久久久久久久久久久福利 | 精品日韩 | 色香蕉视频| 国产按摩一区二区三区 | 玖玖在线播放 |