1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          hibernate緩存(Hibernate緩存是什么)

          來源:互聯網轉載 時間:2024-05-08 17:36:01

          緩存是一種提高系統性能的機制。它是位于應用程序和數據庫之間的緩沖存儲器。高速緩存存儲最近使用的數據項,以盡可能減少數據庫命中的次數。

          緩存對 Hibernate 也很重要。它使用多級緩存方案,如下所述

          一級緩存

          一級緩存是Session緩存,是所有請求都必須通過的強制緩存。Session 對象在將對象提交到數據庫之前將其保持在自己的權力之下。

          如果您對一個對象發出多個更新,Hibernate 會嘗試盡可能長時間地延遲執行更新,以減少發出的更新SQL語句的數量。如果您關閉會話,所有正在緩存的對象都將丟失,并在數據庫中保留或更新。

          二級緩存

          二級緩存是可選的緩存,在嘗試定位二級緩存中的對象之前,將始終參考一級緩存。二級緩存可以基于每個類和每個集合進行配置,主要負責跨會話緩存對象。

          任何第三方緩存都可以與 Hibernate 一起使用。提供了一個org.hibernate.cache.CacheProvider接口,必須實現該接口才能為 Hibernate 提供緩存實現的句柄。

          查詢級緩存

          Hibernate 還實現了與二級緩存緊密集成的查詢結果集緩存。

          這是一個可選功能,需要兩個額外的物理緩存區域來保存緩存的查詢結果和上次更新表時的時間戳。這僅對使用相同參數頻繁運行的查詢有用。

          二級緩存

          Hibernate默認使用一級緩存,你不用做一級緩存。讓我們直接進入可選的二級緩存。并非所有類都能從緩存中受益,因此能夠禁用二級緩存很重要。

          Hibernate 二級緩存分兩步設置。首先,您必須決定使用哪種并發策略。之后,您可以使用緩存提供程序配置緩存過期和物理緩存屬性。

          并發策略

          并發策略是一個中介,它負責將數據項存儲在緩存中并從緩存中檢索它們。如果要啟用二級緩存,則必須為每個持久類和集合決定使用哪種緩存并發策略。

          Transactional - 將此策略用于以讀取為主的數據,在這種情況下,在極少數更新的情況下,防止并發事務中的陳舊數據至關重要。

          Read-write - 再次將此策略用于以讀取為主的數據,在這種情況下,在極少數更新的情況下,防止并發事務中的陳舊數據至關重要。

          Nonstrict-read-write - 此策略無法保證緩存和數據庫之間的一致性。如果數據幾乎從未更改并且過時數據的可能性很小不是關鍵問題,則使用此策略。

          只讀- 適用于數據的并發策略,永遠不會改變。僅將其用作參考數據。

          如果我們要為Employee類使用二級緩存,讓我們添加所需的映射元素,告訴 Hibernate 使用讀寫策略緩存 Employee 實例。

          <?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping><classname="Employee"table="EMPLOYEE"><metaattribute="class-description">Thisclasscontainstheemployeedetail.</meta><cacheusage="read-write"/><idname="id"type="int"column="id"><generatorclass="native"/></id><propertyname="firstName"column="first_name"type="string"/><propertyname="lastName"column="last_name"type="string"/><propertyname="salary"column="salary"type="int"/></class></hibernate-mapping>

          usage="read-write" 屬性告訴 Hibernate 對定義的緩存使用讀寫并發策略。

          查詢級緩存

          要使用查詢緩存,您必須首先使用配置文件中的hibernate.cache.use_query_cache="true"屬性激活它。通過將此屬性設置為 true,您可以讓 Hibernate 在內存中創建必要的緩存來保存查詢和標識符集。

          接下來,要使用查詢緩存,請使用 Query 類的 setCacheable(Boolean) 方法。例如

          Sessionsession=SessionFactory.openSession();Queryquery=session.createQuery("FROMEMPLOYEE");query.setCacheable(true);Listusers=query.list();SessionFactory.closeSession();

          Hibernate 還通過緩存區域的概念支持非常細粒度的緩存支持。緩存區域是指定名稱的緩存的一部分。

          Sessionsession=SessionFactory.openSession();Queryquery=session.createQuery("FROMEMPLOYEE");query.setCacheable(true);query.setCacheRegion("employee");Listusers=query.list();SessionFactory.closeSession();

          此代碼使用該方法告訴在Hibernate緩存的員工區域中存儲和查找查詢。

          以上就是關于“Hibernate緩存是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注本站行業資訊頻道。

          標簽:hibernate緩存-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          恒大公布三種投資產品兌付方案是什么?為了解決恒大財富投資產品的兌付問題,恒大公布了三種兌付方案供投資者選擇,分別是現金分期兌付、實物資產兌付和抵付購房尾款兌付。投資者可以在三個方案中選擇其中一個,也可以任意組合兩個或三個方案兌付。值得一提的是,就在三天前的9月10日下午,許家印親自主持了“恒大財富座談會”,宣稱“要確保所有到期的理財產品盡快兌付,不虧一分錢&rd...

          理財產品風險等級怎么劃分?根據理財產品的不同,風險等級也會不同。而在投資者的眼里理財產品會劃分為以下五種風險等級:1.R1級是謹慎型的理財產品,屬于保本保預期收益的產品,但是產品還是會隨著投資表現而產生相應的浮動,但總體上還是穩定的,風險是很低的。比如有貨幣基金、國債、大額存單等。2.R2級是穩健型的理財產品,屬于浮動預期收益類的產品,從這個等級開始都是非保本類型的產品,不保證本金,但風險很小,整...

          (相關資料圖)今天來聊聊關于為啥電腦有些網站打不開,電腦上面有些網站打的開有些網站打不開是什么原因怎么解決_的文章,現在就為大家來簡單介紹下為啥電腦有些網站打不開,電腦上面有些網站打的開有些網站打不開是什么原因怎么解決_,希望對各位小伙伴們有所幫助。1、與IE沖突,下載谷歌等瀏覽器測試一下,如果好用,上淘寶、OO空間,或瀏覽其它網頁時就用這個軟件,這些都是不用IE做內核的,與你用IE不沖突。2、開...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>