更新時(shí)間:2022年03月22日16時(shí)23分 來(lái)源:傳智教育 瀏覽次數(shù):
在Hibernate開(kāi)發(fā)過(guò)程中通常會(huì)用到5個(gè)核心接口,分別為:Configuration接口、SessionFactory接口、Session接口、Transaction接口和Query接口。通過(guò)這些接口可以對(duì)持久化對(duì)象進(jìn)行操作,還可以進(jìn)行事務(wù)控制。在使用Hibernate前,先了解一下Hibernate的執(zhí)行流程,如圖7-6所示。
圖7-6Hibernate的執(zhí)行流程
從圖中7-6中可以看到,Hibernate從開(kāi)始到結(jié)束的執(zhí)行流程。下面結(jié)合圖中的執(zhí)行流程,介紹一下Hibernate持久化操作的主要步驟,具體如下:
(1)初始化Hibernate,構(gòu)建Configuration實(shí)例。這一步用來(lái)讀取Hibernate核心配置文件和映射文件信息到Configuration對(duì)象中。
(2)創(chuàng)建SessionFactory實(shí)例。通過(guò)Configuration對(duì)象讀取到的配置文件信息并創(chuàng)建SessionFactory,并 將Configuration對(duì)象中的所有配置文件信息存入SessionFactory內(nèi)存中。
(3)創(chuàng)建Session實(shí)例,建立數(shù)據(jù)庫(kù)連接。Session是通過(guò)SessionFactory打開(kāi),創(chuàng)建一個(gè)Session對(duì)象就相當(dāng)于建立一個(gè)新的數(shù)據(jù)庫(kù)連接。
(4)創(chuàng)建Transaction實(shí)例,開(kāi)啟一個(gè)事務(wù)。Transaction用于事務(wù)管理,一個(gè)Transaction對(duì)象對(duì)應(yīng)的事務(wù)可以包含多個(gè)操作。在使用Hibernate進(jìn)行增、刪、改操作的時(shí)候,必須先創(chuàng)建Transaction對(duì)象。
(5)利用Session接口通過(guò)的各種方法進(jìn)行持久化操作。
(6)提交事務(wù)。對(duì)實(shí)體對(duì)象持久化操作后,必須提交事務(wù)。
(7)關(guān)閉Session,斷開(kāi)與數(shù)據(jù)庫(kù)連接。
lock和synchronized有什么區(qū)別?【java面試題】
聚合分為幾類?用DSL實(shí)現(xiàn)Bucket聚合
實(shí)現(xiàn)Runnable接口創(chuàng)建多線程
北京校區(qū)