欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Hibernate中5個核心接口知識點整理

 更新時間:2021年08月24日 08:04:07   作者:技術之家  
在本篇文章里小編給大家整理的是一篇關于Hibernate中5個核心接口知識點整理等內(nèi)容,有興趣的朋友們跟著學習參考下。

Hibernate是一個全自動的orm框架,hibernate可以自動生成SQL語句,自動執(zhí)行,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫,同時Hibernate作為持久層中間件,它的具體實現(xiàn)對與上層調用是透明的,即上層通過接口來調用Hibernate的具體實現(xiàn),所以對于入門級別的討論來說,自然應該先從接口開始了。

1.Configuration核心接口

在Hibernate應用中通過Configuration的實例來指定對象-關系映射文件或通過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更面向對象,Criteria更擅長執(zhí)行動態(tài)查詢。

總結

1、Configuration:配置hibernate,創(chuàng)建SessionFactory對象。

2、SessionFactory:初始化hibernate,充當數(shù)據(jù)存儲源的代理,創(chuàng)建Session對象。

3、Session:負責保存,更新,刪除。加載和查詢對象。

4、Transaction:管理事務。

5、Query和Criteria:執(zhí)行數(shù)據(jù)庫的查詢。

到此這篇關于Hibernate中5個核心接口知識點整理的文章就介紹到這了,更多相關關于Hibernate中5個核心接口介紹內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java開發(fā)RocketMQ消息中間件原理基礎詳解

    java開發(fā)RocketMQ消息中間件原理基礎詳解

    最近 RocketMQ 剛剛上生產(chǎn)環(huán)境,閑暇之時在這里做一些分享,主要目的是讓初學者能快速上手RocketMQ,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • Java利用反射如何查找使用指定注解的類詳解

    Java利用反射如何查找使用指定注解的類詳解

    這篇文章主要給大家介紹了關于Java利用反射如何查找使用指定注解的類的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-09-09
  • JavaWeb項目中springmvc和tomcat對靜態(tài)文件的處理

    JavaWeb項目中springmvc和tomcat對靜態(tài)文件的處理

    這篇文章主要介紹了JavaWeb項目中springmvc和tomcat對靜態(tài)文件的處理 的相關資料,需要的朋友可以參考下
    2016-07-07
  • Spring?IOC容器Bean注解創(chuàng)建對象組件掃描

    Spring?IOC容器Bean注解創(chuàng)建對象組件掃描

    這篇文章主要為大家介紹了Spring?IOC容器Bean注解創(chuàng)建對象組件掃描,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • mybatis中如何傳遞單個String類型的參數(shù)

    mybatis中如何傳遞單個String類型的參數(shù)

    這篇文章主要介紹了mybatis中如何傳遞單個String類型的參數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java關于含有繼承類的成員初始化過程講解

    Java關于含有繼承類的成員初始化過程講解

    今天小編就為大家分享一篇Java關于含有繼承類的成員初始化過程講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • java怎么連接并訪問activemq

    java怎么連接并訪問activemq

    這篇文章主要介紹了java怎么連接并訪問activemq,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • Maven默認中央倉庫(settings.xml 配置詳解)

    Maven默認中央倉庫(settings.xml 配置詳解)

    這篇文章主要介紹了Maven默認中央倉庫(settings.xml 配置詳解),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • java客戶端登陸服務器用戶名驗證

    java客戶端登陸服務器用戶名驗證

    這篇文章主要為大家詳細介紹了java客戶端登陸服務器用戶名驗證的相關資料,需要的朋友可以參考下
    2016-05-05
  • Java中IOException異常解決方法

    Java中IOException異常解決方法

    這篇文章主要給大家介紹了關于Java中IOException異常解決的相關資料,IOException是Java中的一個受檢查異常(Checked?Exception),它是java.io包中定義的異常類之一,需要的朋友可以參考下
    2023-07-07

最新評論