對於Hibernate和JPA的理解
前言
在學習EJB的過程中,碰到了持久化這一概念,前面我一直沒弄清楚JPA和Hibernate的關係,隨著查閱的資料越多,我逐漸弄清了這三者的關係。
概念
持久化:將內容中的物件儲存到磁碟這類永久儲存器中,在需要的時候可以將其調回記憶體還原為物件。
ORM:是一種程式設計技術,全稱為Object/Relation Mapping(物件關係對映),是最早的持久化解決方案。
JPA:是POJO持久化標準規範,全稱為Java Persistence API,它包含了ORM對映元資料、API、查詢語言這三方面的技術。
Hibernate:是一個完全的ORM工具,用於物件的持久化。
聯絡
順序:持久化---->ORM--->JPA--->Hibernate。
區別
Hibernate與JPA:Hibernate實現了JPA但是不限於JPA,JPA只是Hibernate的一個子集。
在EJB程式設計中,資料的持久化使用了JPA規範,但是對於具體的Provider則是看具體使用,Hibernate是Provider中很強的一個。
相關推薦
對於Hibernate和JPA的理解
前言 在學習EJB的過程中,碰到了持久化這一概念,前面我一直沒弄清楚JPA和Hibernate的關係,隨著查閱的資料越多,我逐漸弄清了這三者的關係。 概念 持久化:將內容中的物件儲存到磁碟這類永久儲存器中,在需要的時候可以將其調回記憶體還原為物件。 ORM:是一種程式
Hibernate和JPA
Mybatis(ibatis)半自動化orm框架,需要手寫sql語句 Hibernate 全自動化orm框架,不需要寫sql語句 Hibernate底層也是jdbc sun公司制定JPA規範(Java Persistence API) java持久化規範 內部是介面和抽象類組成 Hibe
hibernate和jpa註解關聯總結
用hibernate和jpa annotation 大概一年多了,今天閒來無事,對他們關聯關係元資料寫法做一個總結。 1.一對一主鍵關聯 這個在實際專案中用的比較少,大部分是通過用外來鍵做關聯的,這裡用使用者和手機號舉個例子,使用者和手機號是一對一的關係,
對於equals和==的理解
很多時候equals和==大家都分不太清楚怎麼樣來使用,今天小編就來教大家怎麼使用 equals比較的是兩個變數的值是否相等 而==則比較的是這個變數的記憶體地址是否相同 打個比方來說 String a = new String("a"); String b = new String ("a");
使用註解風格學習Hibernate和JPA的主鍵生成策略
主鍵是關係資料庫中的一個基本概念,它用來保證記錄的唯一性。簡單來說,就是同一張資料庫表中,不允許存在多條相同主鍵的記錄。主鍵生成策略,就是當向資料庫表中插入記錄的時候,這個記錄的主鍵該如何生成。絕大部分情況下,主鍵都是沒有業務含義的,所以開發者不會、也不需要,顯示地
Hibernate 和 JPA 註解方式自定義ID生成器
/** * Test.java * 實體類定義和配置 */ package com.saving.ecm.resource.entity; import javax.persistence.Column; import javax.persistence.Enti
網上整理的對於Rest和Restful api的理解
gpo 信息 常用 method 安全 什麽 獲取 正常 stat 一、什麽是Rest? REST不是"rest"這個單詞,而是幾個單詞縮寫 -- REpresentational State Transfer 直接翻譯:表現層狀態轉移,但這個翻譯正常人根本看不懂,找到的一
對於PrintStream 和PrintWriter的理解 以及各種編碼格式 以及編碼和解碼的解釋
PrintStream: 是一個位元組列印流,System.out對應的型別就是PrintStream。 它的建構函式函式可以接收三種資料型別的值。 1,字串路徑。 2,File物件。 3,OutputStream。 PrintWriter: 是一
springboot jpa 非hibernate和mysql對應欄位如何處理
背景:程式中的entity物件中欄位expression為json字串欄位,每次前端傳過來的json物件進行轉換會時出現錯誤,由於expression被轉換為了JsonObject型別導致。
對於浮動和清除浮動的理解
我在他轉載的文章的基礎上自己做了總結和理解,雖然不知道原創是誰,但是灰常的感謝,幫助我們這些前端小白。 話不多說進入正題: 1.首先什麼是浮動:舉一個例子 <!DOCTYPE html> <html lang="en"> <head&g
JPA Hibernate 和資料庫 的 鎖機制
本文總結Java中有關資料庫儲存持久資料的鎖機制,不只是純粹資料庫自身的鎖,本文主要就Java持久層三個技術資料庫、JPA和Hibernate的鎖應用進行了總結。 在併發理論中,鎖是用於保護可變的共享資料,以保證資料的完整性,大多數應用程式都是依賴於資料庫本身提供的
個人對於陣列和緩衝區的理解
參考文章:http://blog.csdn.net/zhangyuan19880606/article/details/51162096 概念上,緩衝區是包在一個物件內的基本資料元素陣列。Buffer類相比一個簡單陣列的優點是它將關於資料的資料內容和
Hibernate Session和Jpa EntityManager
本文主要比較一下二者操作實體類的方法的關係和區別。 本文適用 Hibernate:4.3.11.Final 和 spring-data-jpa:1.10.4.RELEASE 。 建立方式 Session: Configuration config
對於softmax和sigmoid的理解
在分類問題中,人們常常會用到sigmoid和softmax這兩個啟用函式。 sigmoid:A logistic function or logistic curve is a common “S” shape (sigmoid curve). 也就是說,s
JPA、Hibernate和Mybatis區別和總結
一、應用場合: 傳統公司、部分個人開發者喜歡用jpa;而網際網路公司更青睞於mybatis 原因: 1、mybatis更加靈活,開發迭代模式決定了他是網際網路公司的首先;每一次的修改不會帶來效能上的下降。 2、傳統公司需求迭代速度慢、專案改動小,hibernate可以
對於equal和hashcode的理解,何時需要重寫
重寫equal 的同時為什麼必須重寫hashcode? hashCode是編譯器為不同物件產生的不同整數,根據equal方法的定義:如果兩個物件是相等(equal)的,那麼兩個物件呼叫hashCode必須產生相同的整數結果,即:equal為true,hashCode必須
hibernate:真正理解二級快取和查詢快取
public class Person { private Person parent; private Set<Person> children; public void setParent(Person p) { parent = p; } public void setChild
對於Intent和IntentFilter的理解記錄
來自:http://blog.csdn.net/fhx123fhx123/article/details/7906113 來個通俗的比方: Intent比作一個人 IntentFilter比作一個飯店 1、如果一個人想吃東西(Intent的action),而酒店中
objc--對於Retain和Assign屬性的理解
在寫程式時,對於要定義的變數進了習慣於加上retain屬性,但對其到底起到什麼作用卻一直不是很明白,今天做了一個demo,終於弄清了他們的意思。 比如我要定義一下字串var: NSString *var; 宣告Property時,@property(nonamtic,assign)NSString
對於Hibernate的openSession方法為什麼不是執行緒安全的原始碼理解
首先,先明確幾個概念。 1、區域性變數不會受多執行緒影響。 2、成員變數會受到多執行緒影響。 多個執行緒呼叫的同一個物件的同一個方法: 如果方法裡無成員變數,不受任何影響, 如果方法裡有成員變數,只有讀操作,不受影響,存在賦值操作,有影響。 第一點