Hibernate(一)---Hibernate簡介

(一)Hibernate概述
Hibernate是一個Java領域的持久化的ORM框架;
(1)對象的持久化
· 狹義的理解:“持久化”僅僅把對象永久保存到數據庫中;
· 廣義的理解: “持久化”包括和數據庫相關的各種操作:
~ 保存:把對象永久保存到數據庫中。
~更新:更新數據庫中對象(記錄)的狀態。
~ 刪除:從數據庫中刪除一個對象。
~ 查詢:根據特定的查詢條件,把符合查詢條件的一個或多個對象從數據庫加載到內存中.
~加載:根據特定的OID(即數據庫中的主鍵),把一個對象從數據庫加載到內存中。
(2)ORM(Object/Relation Mapping): 對象/關係映射

面向對象 面向關係
對象 表的行(記錄)
屬性 表的列(字段)

~ORM思想:將關係型數據庫中表中的記錄映射成爲對象,以對象的形式展現,可以把數據庫的操作轉化爲對對象的操作;
~ORM採用元數據(描述數據的數據)來描述對象-關係映射細節,元數據通常採用XML格式,並且存放在專門的對象-關係映射文件中.
(二)Hibernate的核心
這裏寫圖片描述
~~Configuration類負責管理hibernate的配置信息。包括如下內容:
–Hibernate 運行的底層信息:數據庫的URL、用戶名、密碼、JDBC驅動類,數據庫Dialect,數據庫連接池等(對應 hibernate.cfg.xml 文件)。
–持久化類與數據表的映射關係(*.hbm.xml 文件)
–創建 Configuration 的兩種方式
①屬性文件(hibernate.properties):
Configuration cfg = new Configuration();
②Xml文件(hibernate.cfg.xml)
Configuration cfg = new Configuration().configure();
Configuration 的 configure 方法還支持帶參數的訪問:
File file = new File(“simpleit.xml”);
Configuration cfg = new Configuration().configure(file);

~~SessionFactory接口
· 針對單個數據庫映射關係經過編譯後的內存鏡像,是線程安全的。
· SessionFactory 對象一旦構造完畢,即被賦予特定的配置信息。
· SessionFactory是生成Session的工廠。
· 構造 SessionFactory 很消耗資源,一般情況下一個應用中只初始化一個 SessionFactory 對象。
~~Session接口:持久化類與 Session 關聯起來後就具有了持久化的能力(即可以對數持久化對象進行CRUD操作)
~~Transaction(事務):代表一次原子操作,它具有數據庫事務的概念。所有持久層都應該在事務管理下進行,即使是隻讀操作。
Transaction tx = session.beginTransaction();
· 常用方法:
– committ():提交相關聯的session實例;
– rollback():撤銷事務操作;
– wasCommitted():檢查事務是否提交;
~~Query接口和Criteria接口:負責執行各種數據庫查詢;

發佈了43 篇原創文章 · 獲贊 5 · 訪問量 4833
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章