1. 程式人生 > >Hibernate的核心元件簡單介紹

Hibernate的核心元件簡單介紹



1.在專案中使用Hibernate框架時,非常關鍵的一點就是要使用Hibernate的核心類和介面,即核心元件。Hibernate介面位於業務層和持久化層之間。Hibernate除核心元件外還有Hibernate配置檔案(hibernate.cfg.xml或hibernate.properties)、對映檔案(xxx.hbm.xml)和持久化類(PO)外。

2.下面開始介紹Hibernate的核心元件:

(1).Configuration類:Configuration類負責配置並啟動Hibernate,建立SessionFactory物件。在Hibernate的啟動過程中,Configuration類的例項首先定位對映文件位置、讀取配置,然後建立SessionFactory物件。

(2).SessionFactory介面:SessionFactroy介面負責初始化Hibernate。它充當資料儲存源的代理,並負責建立Session物件。這裡用到了工廠模式。需要注意的SessionFactory並不是輕量級的,因為一般情況下,一個專案通常只需要一個SessionFactory就可以了,當需要操作多個數據庫時,可以為每個資料庫指定一個SessionFactory。
SessionFactroy產生Session 例項的工廠。

(3).Session介面:Session介面負責執行被持久化物件的操作,它有get( ),load( ),save( ),update( )和delete( )等方法用來對PO 進行載入、儲存、更新及刪除等操作。但需要注意的是Session物件是非執行緒安全的。同時,Hibernate的session不同於JSP應用中的HttpSession。這裡當使用session這個術語時,其實指的是Hibernate中的session。

(4).Transaction介面:Transaction介面負責事務相關的操作,用來管理Hibernate事務,它的主要方法有commit()和rollback(),可以使用Session的beginTransaction()方法生成。它是可選的,開發人員也可以設計編寫自己的底層事務處理程式碼。

(5).Query介面:Query介面負責執行各種資料庫查詢。它可以使用HQL語言,用來對PO進行查詢操作。它可以使用Session的createQuery()方法生成。

(6).Hibernate的配置檔案:Hibernate配置檔案主要用來配置資料庫連線引數,例如,資料庫的驅動程式,URL,使用者名稱和密碼、資料庫方言等。它有兩種格式:hibernate.cfg.xml和hibernate.properties。
兩者的配置內容基本相同,但前者比後者使用方便一些,例如,hibernate.cfg.xml 可以在其<mapping>子元素中定義用到的xxx.hbm.xml 對映檔案列表,而使用hibernate.properties則需要在程式中以硬編碼方式指明對映檔案。在一般情況下,hibernate.cfg.xml 是Hibernate的預設配置檔案。

(7).對映檔案:對映檔案(xxx.hbm.xml)用來把PO與資料庫中的資料表、PO之間的關係與資料表之間的關係,以及PO的屬性與表字段一一對映起來,它是Hibernate的核心檔案。

(8).持久化物件:持久化物件(Persistent Objects,PO)可以是普通的JavaBean,惟一特殊的是它們與(僅一個)Session相關聯。JavaBean在Hibernate中存在三種狀態:臨時狀態(transient)、持久化狀態(persistent)和脫管狀態(detached)。當一個JavaBean物件在記憶體中孤立存在不與資料庫中的資料有任何關聯關係時,那麼這個JavaBean物件就稱為臨時物件(Transient Object);當它與一個Session相關聯時,就變成持久化物件(Persistent Object);在這個Session被關閉的同時,這個物件也會脫離持久化狀態,變成脫管物件(Detached Object),可以被應用程式的任何層自由使用,例如,可用做與表示層打交道的資料傳輸物件(Data transfer Object)。

3.以上內容僅供大家學習參考,謝謝!



相關推薦

Hibernate核心元件簡單介紹

 1.在專案中使用Hibernate框架時,非常關鍵的一點就是要使用Hibernate的核心類和介面,即核心元件。Hibernate介面位於業務層和持久化層之間。Hibernate除核心元件外還有Hibernate配置檔案(hibernate.cfg.xml或hiber

Spring原始碼深度解析-1、Spring核心簡單介紹

在更新JAVA基礎原始碼學習的同時,也有必要把Spring抓一抓,以前對於spring的程度僅在於使用,以及一點IOC/AOP的概念,具體深層的瞭解不是很深入,每次看了一點原始碼就看不下去,然後一轉眼都忘記看了啥。 所以這次專門買了書,來細細品味下Spring。 希望能從這一波學習中加強自己

kubernetes(k8s)以及涉及元件簡單介紹

什麼是kubernetes?         Kubernetes是一個全新的基於容器技術的分散式架構領先方案。是Google內部叢集管理系統Borg的一個開源版本。直到2015年4月,隨著論文釋出,才被眾人熟知。Kubernetes是一個開放的開發平臺。不侷限於任何一種

Hibernate——核心元件(二)

上篇部落格大致的介紹了Hibernate的一些基本概念,這篇部落格在簡單的介紹幾個Hibernate的核心元件。分別簡單介紹一下: Configuration介面:裝載配置類,負責配

ASP.NET AJAX入門系列(6):UpdateProgress控制元件簡單介紹

{    // Introducing delay for demonstration.    System.Threading.Thread.Sleep(3000);    Label1.Text ="Page refreshed at "+        DateTime.Now.ToString();}

Qt控制元件簡單介紹

概述: Qt可分為QCheckBox、QPushButton、和QListView、QCalendarWidget等基礎控制元件,QPushButtonGroup、QCroupBox等同屬性的組合

Hibernate學習(1)簡單介紹

清理緩存 並發 connect upgrade 定義 之前 對象 value cat 1.什麽是Hibernate? ????????? 首先,Hibernat

一起學HBase——簡單介紹HBase各種元件

HBase是谷歌BigTble的開源實現。谷歌的三篇論文拉開了大資料江湖的序幕,鑄就了現在以Hadoop為主的大資料技術生態圈。而HBase是開源的大資料資料庫,和傳統的行式資料庫不同的是,HBase是列式資料庫。列式資料的特點是開源橫向擴充套件,將一張表的資料儲存在hadoop叢集的不同datanode中,

Mybatis(四):MyBatis核心元件介紹原理解析和原始碼解讀 java中代理,靜態代理,動態代理以及spring aop代理方式,實現原理統一彙總

Mybatis核心成員 Configuration        MyBatis所有的配置資訊都儲存在Configuration物件之中,配置檔案中的大部分配置都會儲存到該類中 SqlSession         &

vmware horizon 6.0搭建-(一、各元件簡單介紹

vmware horizon 6.0主要由以下幾個功能模組組成: 1.Microsoft Active Directory:對使用者進行身份驗證和管理。 2.Vmware Vcenter Server:對物理主機和虛擬機器進行管理。 3.Vmware Horizon view

Android 官方架構元件--ROOM 資料庫操作簡單介紹

本文只是簡單的介紹一下怎麼在我們的專案中使用ROOM和一個簡單的小例子。                ROOM是Google官方推出的一個永續性資料庫,Room永續性庫提供了SQLite的抽象層,以便在充分利用SQLite的同時允許流暢的資料庫訪問。        RO

hibernate學習之簡單核心概念

一、hibernate 1. hibernate是什麼? hibernate是一個開放原始碼的物件關係對映框架(ORM),它是當今主流的Java持久層框架之一。 (1)hibernate框架應用在JavaEE三層架構中的dao層框架。 (2)在dao層對資料庫進行crud操作,hibern

桌面小元件簡單介紹

相信大家對桌面小元件一定不陌生吧,也一定向想開發一個屬於自己的桌面小元件,那麼,這篇文章就帶領大家一起來做一個簡單的小元件。 首先,先介紹一下桌面小元件的實現過程及原理。 1.首先,要實現一個桌面小元件,必須要繼承自AppWidgetProvider,其本質上是一個Broa

ABAP OO 控制元件建立步驟簡單介紹

作為 一個ABAPER,必須得熟悉OO 控制元件的使用,如OO ALV、TEXTEDIT、TREE、PICTURE等等。 可使用事務程式碼BIBS-使用者介面設計的範例進行學習,裡面有很全的OO控制元件例子。 下面簡單介紹OO 建立步驟: 1、在自定義螢幕上建立一個自定義控

Android圖表控制元件MPAndroidChart的簡單介紹(MPAndroidChart3.0)

每個類對應的圖是什麼github上有詳細的介紹圖表類具有相同的地方X軸:XAxisY軸:YAxis圖例:Legend描述:Description限制線:LimitLine選中圖表中的值,可顯示的檢視:MarkerView 具體在圖表中的表現如下圖以曲線圖為例依賴:projec

簡單介紹一下Spring / java中Spring框架7大核心模組的作用,如何在面試中侃侃而談?/ Spring體系常用專案一覽

如今做Java尤其是web幾乎是避免不了和Spring打交道了,但是Spring是這樣的大而全,新鮮名詞不斷產生,學起來給人一種凌亂的感覺,我就在這裡總結一下,理順頭緒。 Spring Spring 概述 Spring 是一個開源框架,是為了解決企業應用程式開發複雜性而建立的(替代更加重量級的企業級Java

滑輪控制元件的研究五、ViewConfiguration的簡單介紹

/**  * 包含了方法和標準的常量用來設定UI的超時、大小和距離  */publicclass ViewConfiguration {      // 設定水平滾動條的寬度和垂直滾動條的高度,單位是畫素px    privatestaticfinalint SCROL

Hibernate核心類和介面詳細介紹

一、hiobernate核心類和介面預覽圖 二、hibernate.properties 這個檔案是以前老版本使用的 類似於hibernate.cfg.xml檔案;作用和hibernate.cfg.xml一致. 三、hibernate.cfg.xml  (1)詳細介紹

Knative 核心概念介紹:Build、Serving 和 Eventing 三大核心元件

Knative 主要由 Build、Serving 和 Eventing 三大核心元件構成。Knative 正是依靠這三個核心元件

<java>枚舉的簡單介紹

pic spi str spa 枚舉類 lee string line 舉例 1.枚舉,enum關鍵字,相當於public final static. 2.舉例: 首先定義了一個名為spiciness的枚舉類型。 public enum Spiciness {