1. 程式人生 > >Hibernate與Jpa的關係,終於弄懂

Hibernate與Jpa的關係,終於弄懂

原文連結:http://blog.sina.com.cn/s/blog_5f1619e80100yoxz.html

我知道Jpa是一種規範,而Hibernate是它的一種實現。除了Hibernate,還有EclipseLink(曾經的toplink),OpenJPA等可供選擇,所以使用Jpa的一個好處是,可以更換實現而不必改動太多程式碼。

在play中定義Model時,使用的是jpa的annotations,比如javax.persistence.Entity, Table, Column, OneToMany等等。但它們提供的功能基礎,有時候想定義的更細一些,難免會用到Hibernate本身的annotation。我當時想,jpa這 麼弱還要用它幹什麼,為什麼不直接使用hibernate的?反正我又不會換成別的實現。

因為我很快決定不再使用hibernate,這個問題就一直放下了。直到我現在在新公司,做專案要用到Hibernate。

我想拋開jpa,直接使用hibernate的註解來定義Model,很快發現了幾個問題:

  1. jpa中有Entity, Table,hibernate中也有,但是內容不同
  2. jpa中有Column,OneToMany等,Hibernate中沒有,也沒有替代品

我原以為hibernate對jpa的支援,是另提供了一套專用於jpa的註解,但現在看起來似乎不是。一些重要的註解如Column, OneToMany等,hibernate沒有提供,這說明jpa的註解已經是hibernate的核心,hibernate只提供了一些補充,而不是兩 套註解。要是這樣,hibernate對jpa的支援還真夠足量,我們要使用hibernate註解就必定要使用jpa。

實際情況是不是這樣?在被群裡(Scala交流群132569382)的朋友鄙視一番卻沒有給出滿意答案的時候,我又想起了萬能的stackoverflow,上去提了兩個問:

第一個是問如果想用hibernate註解,是不是一定會用到jpa的。網友的回答:“是。如果hibernate認為jpa的註解夠用,就直接用。否則會弄一個自己的出來作為補充”

第二個是問,jpa和hibernate都提供了Entity,我們應該用哪個,還是說可以兩個一起用?網友回答說“Hibernate的Entity是繼承了jpa的,所以如果覺得jpa的不夠用,直接使用hibernate的即可”。

相關推薦

HibernateJpa關係終於

原文連結:http://blog.sina.com.cn/s/blog_5f1619e80100yoxz.html 我知道Jpa是一種規範,而Hibernate是它的一種實現。除了Hibernate,還有EclipseLink(曾經的toplink),OpenJPA等可

花了10分鐘終於了特徵值和特徵向量到底有什麼意義

轉自 http://k.sina.com.cn/article_6367168142_17b83468e001005yrv.html 有振動 就有特徵值 今天,超模君看到了一句神翻譯: 嚇得超模君馬上放下手中的蘋果手機,來碼字了!之前有模友說想知道矩陣的特徵值和

萬字雄文講透現代網路負載均衡和代理技術終於負載均衡那點事

作者:Matt Klein譯者:崔秀龍原題:Introduction to modern network load balancing and proxying最近我注意到,針對負載均衡和代理這兩項現代網路技術,有教育意義的介紹性材料相當稀缺。這引起我的思考:為什麼會這樣?在

這一次終於了協變和逆變

一、前言 劉大胖決定向他的師傅燈籠法師請教什麼是協變和逆變。   劉大胖:師傅,最近我在學習泛型介面的時候看到了協變和逆變,翻了很多資料,可還是不能完全弄懂。 燈籠法師:阿胖,你不要被這些概念弄混,編譯器可不知道你說的什麼協變逆變。這個問題,首先你得弄懂什麼叫型別的可變

JPAHibernate、Spring data jpa之間的關係終於明白了

什麼麼是JPA? 全稱Java Persistence API,可以通過註解或者XML描述【物件-關係表】之間的對映關係,並將實體物件持久化到資料庫中。 為我們提供了: 1)ORM對映元資料:JPA支援XML和註解兩種元資料的形式,元資料描述物件和表之間的對映關係,

移動設備分辨率(終於了為什麽移動端設計稿總是640px和750px)

blank 深入理解 之間 可能 -s nba 網上 清晰 href   在我開始寫移動端頁面至今,一直有2個疑問困擾著我,我只知道結果但不知道為什麽   問題1:為什麽設計師給的設計稿總是640px或750px(現在一般以Phone6為基準,給的750px)   問題

顯微鏡下的webpack4:靈魂tapable終於鉤子系列!

簡介 大家在看webpack原始碼的時候,有沒有感覺像再看天書,似乎沒有辦法一個檔案比如webpack.js從頭看到尾。感覺webpack的跳躍性很強,完全不知道程式在執行的時候,發生了什麼。完全不清楚這個事件是什麼時候發生的,比如loader是什麼時候執行的,plugin又是什麼時候出現的。webpack

這一次徹底 JavaScript 執行機制

本文的目的就是要保證你徹底弄懂javascript的執行機制,如果讀完本文還不懂,可以揍我。 文章轉自:https://juejin.im/post/59e85eebf265da430d571f89 不論你是javascript新手還是老鳥,不論是面試求職,還是日常開發

這次徹底介面及抽象類

本文出自伯特的《LoulanPlan》,轉載務必註明作者及出處。 本文旨在討論抽象類和介面的作用、例項及使用場景,都是我的理解和總結。更多關於介面和抽象類的概念知識,可自行查閱相關文件。 1. 抽象類及其作用 抽象類,顧名思義,即類的抽象。 在介紹面向物件概念時,我們知道類是客觀事物的抽象,

終於堆排序

var arr = [3,5,1,6,4,7,2]; function swap(array,x,y) { var temp = array[x]; array[x] = array[y]; array[y] = temp; } functi

[轉]終於 uri跟url的區別

初學java,最近被一個概念搞得頭暈腦脹,就是url和uri的概念和區別,網上查了一大通,發現各種回答眼花繚亂,有百科直接貼上的,有胡說八道的,有故意繞來繞去的,我估計他自己都沒搞懂,按照馬士兵的說法就是,通通都是一些冠冕堂皇的套話,說了等於沒說,本來就是一個很

看完這篇文章終於TVS瞬態抑制二極體

看完這篇文章,徹底搞懂TVS二極體 瞬態抑制TVS二極體,作為常用的電路保護元器件,廣泛應用於各行各業。在汽車電子、消費電子、電源驅動、工業配電、再生能源、電信、家電、計量儀器、醫療電子、工業控制、照明、安保系統、建築控制及自動化、音訊/視訊裝置、計算機及其周邊

大資料、雲端計算和人工智慧的深度剖析相互關係值得入行者典藏

雲端計算、大資料和人工智慧,這三個東西現在非常火,並且它們之間好像互相有關係:一般談雲端計算的時候會提到大資料、談人工智慧的時候會提大資料、談人工智慧的時候會提雲端計算……感覺三者之間相輔相成又不可分割。但如果是非技術的人員,就可能比較難理解這三者之間的相互關係,所以有必要解釋一下。

移動裝置解析度(終於了為什麼移動端設計稿總是640px和750px)

原文出處:https://www.cnblogs.com/tu-0718/p/9596894.html 在我開始寫移動端頁面至今,一直有2個疑問困擾著我,我只知道結果但不知道為什麼   問題1:為什麼設計師給的設計稿總是640px或750px(現在一般以Phone6為基準,給的750px)

Spring的傳播行為隔離級別你必須

Spring事務中的傳播行為如下: Require:支援當前事務,如果沒有事務,就建一個新的,這是最常見的; Supports:支援當前事務,如果當前沒有事務,就以非事務方式執行; Mandatory:支援當前事務,如果當前沒有事務,就丟擲異常; Requires

HibernateJPA

1.1持久化,DAO與ORM 介紹持久化,DAO與ORM三個概念,以及它們之間的關係。 1.1.1 持久化 資料在計算機中有兩種狀態: 瞬時狀態:儲存在記憶體的程式資料,程式退出後,資料就消失了,稱為瞬時狀態 持久狀態:儲存在磁碟上的程式資料,程式退出後依然存在,稱為程式資料的持久狀態。持久化的資料儲存在

關於資料庫主鍵和外來鍵(終於啦)

一、什麼是主鍵、外來鍵: 關係型資料庫中的一條記錄中有若干個屬性,若其中某一個屬性組(注意是組)能唯一標識一條記錄,該屬性組就可以成為一個主鍵比如學生表(學號,姓名,性別,班級) 其中每個學生的學號是唯一的,學號就是一個主鍵課程表(課程編號,課程名,學分) 其中課程編號是

終於KMP演算法了

看了上面的文章,你肯定大概明白了KMP的運作原理,但是你可能對於文章提到的“部分匹配值”的又來還存在疑惑,那麼請繼續往下看: 我們先丟擲兩個問題,當目標字串i指標與模式字串j指標失配時: 1、當母串和模式串不匹配時,i指標為什麼不需要回溯

今天終於了Linux輸入法是怎麼會事了

我的桌面環境是KDE。上次裝搜狗輸入法不能用,今天又重新裝了回來。經過一番折騰,大致搞明白Linux輸入法的邏輯了。 linux中文輸入法都是依賴於輸入法框架的,這裡的框架有比如ibus或者fcitx

數字簽名中公鑰和私鑰是什麼?今天終於

https://www.sohu.com/a/198919210_100027651   數字簽名中公鑰和私鑰是什麼?今天終於弄懂了 2017-10-19 17:00 鮑勃有兩把鑰匙,一把是公鑰,另一把是私鑰。 鮑勃把公鑰送給他的朋友們----帕蒂、道格、蘇