溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hibernate中5個核心接口分別是什么

發(fā)布時間:2021-11-03 10:42:03 來源:億速云 閱讀:112 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“Hibernate中5個核心接口分別是什么”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“Hibernate中5個核心接口分別是什么”這篇文章吧。

1.Configuration核心接口

在Hibernate應用中通過Configuration的實例來指定對象-關(guān)系映射文件或通過Configuration動態(tài)配置Hibernate的屬性,然后通過Configuration來創(chuàng)建相應的SessionFactory實例。所以Configuration主要作用是配置并啟動Hibernate。

2.SessionFactory核心接口

在Hibernate應用中一個SessionFactory對應一個數(shù)據(jù)源,它是個重量級對象(注意:不可隨意生成多個實例,對于一般的單數(shù)據(jù)庫應用來說,只需要一個SessionFactory就足夠了,當然如果有多個數(shù)據(jù)庫的話,還是需要為每個數(shù)據(jù)庫生成對應的SessionFactory);它是線程安全的,同一個實例可以被應用中的多個線程共享;同時SessionFactory存放了大量預定義的SQL語句以及映射元數(shù)據(jù),則需要很大的緩存了,也需要一定的CPU時間來計算生成。
注:通過Mapping文件的定義,很多SQL語句就已經(jīng)確定了,只需要動態(tài)生成一次就可以了,提高持久化的效率。

3.Session核心接口

Session接口是Hibernate應用中使用最廣泛的接口了,它是持久化管理器,提供添加、更新、刪除、加載、查詢對象。Session不是線程安全的,所以應避免多個線程共享同一個Session實例。Session是輕量級對象,它的創(chuàng)建和銷毀不需要太多資源,這意味著在應用中可以經(jīng)常創(chuàng)建和銷毀Session對象。
Session有一個緩存,稱之為Hibernate的一級緩存,它存放當前工作單元加載的持久化對象,每個Session都有自己的緩存,緩存中的對象只能被當前工作單元訪問。
注:Session實例是從SessionFactory中可以獲得。

4.Transaction核心接口

Transaction是Hibernate的數(shù)據(jù)庫事務接口,它對底層道德事務接口進行了封裝,底層事務接口包括:
JDBC API
JTA(Java Transaction API)
CORBA(Common Object Requet Broker Architecture) API
Hibernate應用可以通過一致Transaction接口來聲明事務邊界,這有助于應用可以在不同的環(huán)境或容器中移植。具體的事務實現(xiàn)使用在Hibernate.properties中進行指定。

5.Query和Criteria核心接口

這兩個是Hibernate的查詢接口,用于向數(shù)據(jù)庫查詢對象,以及控制執(zhí)行查詢的過程。Query實例包裝了一個HQL(Hibernate Query Language)來查詢。Criteria接口完全封裝了基于字符串形式的查詢語句,比Query更面向?qū)ο螅珻riteria更擅長執(zhí)行動態(tài)查詢。

以上是“Hibernate中5個核心接口分別是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI