Spring Data JPA Vs Hibernate JPA Vs JPA

来源:https://www.cnblogs.com/VioletLove/archive/2018/07/31/9393648.html
-Advertisement-
Play Games

前言 從文章的標題,就可以清晰地瞭解到,本文是來辨析三個容易將新手弄糊塗的技術名詞。如果,你一眼看過去就知道這三個名詞的區別及關係,那麼,這篇文章你可以不用繼續讀下去了;除非,你是想要看看我有什麼解釋的不對,來糾錯的(來找茬,哈哈),也歡迎留言。 名詞解釋 JPA(Java Persistence ...


前言

從文章的標題,就可以清晰地瞭解到,本文是來辨析三個容易將新手弄糊塗的技術名詞。如果,你一眼看過去就知道這三個名詞的區別及關係,那麼,這篇文章你可以不用繼續讀下去了;除非,你是想要看看我有什麼解釋的不對,來糾錯的(來找茬,哈哈),也歡迎留言。

名詞解釋

  • JPA(Java Persistence API,Java持久化API),它是一個關於如何處理對象關係映射(object-relational mappings)的規範;即,定義了映射Java中的Object到關係資料庫Table的標準流程。
  • Hibernate JPA,它實現了JPA規範,是JPA規範的廠商(想想JDBC規範和MySQL資料庫廠商的關係,JPA和Hibernate也是這麼一種關係)。

    除了Hibernate這個廠商,EclipseLink也是一個比較流行的JPA廠商。

  • Spring Data JPA,它是JPA規範的一個數據訪問抽象;Spring Data旨在提供一種一致的數據訪問模型,用於訪問來自不同存儲類型的數據。

JPA 背景

在引入EJB 3.0規範之前,許多企業級Java開發人員使用由持久化框架(例如Hibernate)或數據訪問對象(DAO)提供的輕量級持久化對象,來代替實體bean(EJB的一種)。 這是因為在以前的EJB規範中,實體bean需要太多複雜的代碼和繁重的資源占用,並且由於bean和DAO對象或持久化框架之間的源代碼中的互連和依賴性,使得它們只能在Java EE應用程式伺服器中使用。 因此,最初在第三方持久性框架中提供的許多功能都被合併到Java Persistence API中,並且從2006年開始,像Hibernate(版本3.2)和TopLink Essentials這樣的項目已經實現Java Persistence API規範。

JPA 編年史

  • 2006年5月, JPA 1.0 規範作為 JCP JSR 220 的一部分最終被髮布。
  • 2009年12月,JPA 2.0 規範發佈(JSR 317,Java EE 6 平臺,依賴於 JPA 2.0。)
  • 2013年4月, JPA 2.1 規範發佈(JSR 338,Java EE 7 平臺,依賴於 JPA 2.1。)
  • 2017年6月, JPA 2.2 規範發佈(JSR 338)

參考資料


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 代理模式是為其他對象提供一種代理以控制對這個對象的訪問。在某些情況下,一個對象不適合或者不能直接引用另一個對象,而代理對象可以在客戶端和目標對象之間起到中介的作用,其特征是代理類與委托類有同樣的介面。 動機: 在軟體設計中,使用代理模式的意圖也很多,比如因為安全原因需要屏蔽客戶端直接訪問真實對象,或 ...
  • Spring是什麼? 是一個框架,是一個輕量級的控制反轉和麵向切麵的容器框架 從大小與開銷兩方面而言Spring都是輕量的 通過控制反轉(IoC)的技術達到松耦的目的 提供了面向切麵編程的豐富支持,允許通過分離應用的業務邏輯與系統級服務進行內聚性的開發 包含並管理應用對象的配置和生命周期,這個意義上 ...
  • https://mp.weixin.qq.com/s/Co1LxS2h_ILh9syOmshjZg 什麼是CGI CGI全稱是“公共網關介面”(Common Gateway Interface),HTTP伺服器與你的或其它機器上的程式進行“交談”的一種工具,其程式須運行在網路伺服器上。 CGI可以用 ...
  • 分數的表示 1.如果分數為負,負號放到分子上 2.如果分數為0,分子為0,分母為1 3.分子分母沒有除1以為的公約數(化簡) 分數的化簡 分三步: 1.調整分子分母的負號 2.處理分數為0的情況 3.約分:分子分母絕對值的最大公約數。 ...
  • C++的註釋有兩種 1. 雙斜杠開始到本行結束 (//) 2. 斜杠星開始 星斜杠結束 (/*)(*/) 我們把上次的代碼加上一個比較詳細的註釋。 註釋的目的: 讓代碼閱讀者更清晰的理解編碼者的代碼意義。 註釋的一種錯誤用法 ,/* */的嵌套使用 大家看一下代碼著色就能發現,嵌套使用後的註釋對會出 ...
  • 題意 交互題。 有$k$個值域為$[1, n]$的數。 請在不超過$60$次詢問內找出其中的兩個數。 每次詢問形式為1 x y 交互庫會返回$|x - a| <= |y - b| ? "TAK" : "NIE"$ 其中$a, b$分別是使得$|x - a|,|y - b|$最小的且存在於序列中的數。 ...
  • 父類 子類 測試類 設計思想:用隨機文件流把文件正向讀出並保存到了字元串中,將字元串倒序,顯示到控制台。 文件讀寫 目的 1 掌握文件讀寫的幾種方法 2 FileOutputStream和FileInputStream類的使用。 3 基本數據類型之間的轉換 實現文件讀取後轉換為大寫後寫入到目標文件中 ...
  • 創建實例: String str = new String();str = "String"; 1、char charAt(int index):返回指定索引位置的字元 2、String substring(int beginIndex):返回指定起始位置至字元串末尾的字元串 String subs ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...