最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談hibernate中懶加載禁用操作

 更新時間:2020年10月19日 08:59:13   作者:haha_66666  
這篇文章主要介紹了淺談hibernate中懶加載禁用操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

淺談hibernate中懶加載禁用操作

懶加載的概念:懶加載就是hibernate中的延遲加載,在hibernate中的一對多,多對多關系中通過對象導航來查詢對象時一般默認的就是懶加載。就是當我們查詢一個對象的時候,在默認情況下,返回的只是該對象的代理對象,當用戶去使用該對象的屬性是,才會向數(shù)據(jù)庫中再一次發(fā)出查詢語句。懶加載在某些情況下確實可以減少不必要的sql語句,但是有的情況下,還是會拋出異常。

下面我將介紹懶加載禁用的方式

方式一:

在需要禁用懶加載的實體對象的配置文件中配置lazy="false";

例如:

<many-to-one name="lkm_cust_id" lazy="false" column="lkm_cust_id" class="com.haha.domain.Customer"/>

方式二:

在service中強行加載這個代理對象,因為service層提交完事務之后,session就關閉了;所以要在session關閉之前把這個代理對象給加載了。

public Customer toedit(Customer customer) {
 Customer c= customerDao.toedit(customer);
 Hibernate.initialize(c);//強行加載
 return c;
 }

方式三:

注意:這種方法可以高效的解決我們的no-session問題

這個方法用于ssh整合時,其實它跟方式二的原因是一樣的,但是解決的方式不同,這種方法是延長session的生命周期,讓session在jsp頁面加載完畢后在關閉。

這個過濾器不需要我們寫,因為spring已經(jīng)給我們提供了一個這樣的過濾器類,我們只需配置就可以使用

在web.xml中配置

<!-- 解決no-session問題過濾器 
 通過filter來讓session在jsp頁面完畢后再關閉session
 注意: 所有Filter的配置都需要放置在struts2入口過濾器配置之前
 -->
 <filter>
 <filter-name>openSessionInView</filter-name>
 <filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class>
 </filter>
 <filter-mapping>
 <filter-name>openSessionInView</filter-name>
 <url-pattern>/*</url-pattern>
 </filter-mapping>

補充知識:hibernate中懶加載和急加載的區(qū)別?

1、fetch = FetchType.LAZY ----懶加載

在加載一個實體的時候,不會馬上從數(shù)據(jù)庫中加載,即從數(shù)據(jù)庫中加載到內(nèi)存中。

2、fetch = FetchType.EAGER ----急加載

在加載一個實體時,會立即從數(shù)據(jù)庫中查詢,與其關聯(lián)的類也會被同時查詢。

在我們使用@ManyToOne等時,都會被默認為急加載。

以上這篇淺談hibernate中懶加載禁用操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • MyBatis框架底層的執(zhí)行原理源碼解析

    MyBatis框架底層的執(zhí)行原理源碼解析

    這篇文章主要介紹了MyBatis框架底層的執(zhí)行原理源碼解析,本文通過圖文實例代碼相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • 詳解SpringBoot使用RedisTemplate操作Redis的5種數(shù)據(jù)類型

    詳解SpringBoot使用RedisTemplate操作Redis的5種數(shù)據(jù)類型

    本文主要介紹了SpringBoot使用RedisTemplate操作Redis的5種數(shù)據(jù)類型,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • maven學習-初窺門徑

    maven學習-初窺門徑

    這篇文章主要介紹了maven的簡單知識,介紹了maven的定義及核心功能,具有一定參考價值,大家可以了解下。
    2017-10-10
  • 半小時實現(xiàn)Java手擼網(wǎng)絡爬蟲框架(附完整源碼)

    半小時實現(xiàn)Java手擼網(wǎng)絡爬蟲框架(附完整源碼)

    最近在做一個搜索相關的項目,需要爬取網(wǎng)絡上的一些鏈接存儲到索引庫中,自己寫了一個簡單的網(wǎng)絡爬蟲,感興趣的可以了解一下
    2021-06-06
  • Java的“Goto”與標簽及使用詳解

    Java的“Goto”與標簽及使用詳解

    goto在Java中是一個保留字,但在語言中并沒有用到它;Java沒有goto。接下來通過本文給大家介紹Java的“Goto”與標簽,感興趣的朋友跟隨小編一起看看吧
    2018-10-10
  • java Object轉byte與byte轉Object方式

    java Object轉byte與byte轉Object方式

    這篇文章主要介紹了java Object轉byte與byte轉Object方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 使用RequestBodyAdvice實現(xiàn)對Http請求非法字符過濾

    使用RequestBodyAdvice實現(xiàn)對Http請求非法字符過濾

    這篇文章主要介紹了使用RequestBodyAdvice實現(xiàn)對Http請求非法字符過濾的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java 數(shù)據(jù)結構與算法系列精講之紅黑樹

    Java 數(shù)據(jù)結構與算法系列精講之紅黑樹

    紅黑樹的應用比較廣泛,主要是用它來存儲有序的數(shù)據(jù),它的時間復雜度是O(lgn),效率非常之高。例如,Java集合中的TreeSet和TreeMap,C++ STL中的set、map,以及Linux虛擬內(nèi)存的管理,都是通過紅黑樹去實現(xiàn)的
    2022-02-02
  • Java中用于SMB/CIFS網(wǎng)絡的JCIFS庫的用法詳解

    Java中用于SMB/CIFS網(wǎng)絡的JCIFS庫的用法詳解

    JCIFS是一個強大的庫,允許Java應用程序無縫地與SMB/CIFS資源進行交互,本文將探討JCIFS的概念和工作原理以及如何在?Java?應用程序中有效使用它,希望對大家有所幫助
    2024-12-12
  • Spring Boot無縫集成MongoDB

    Spring Boot無縫集成MongoDB

    這篇文章主要介紹了Spring Boot無縫集成MongoDB的相關知識,本文涉及到MongoDB的概念和nosql的應用場景,需要的朋友可以參考下
    2017-04-04

最新評論

隆子县| 泌阳县| 张家口市| 霍邱县| 清苑县| 改则县| 体育| 濮阳市| 丹凤县| 遂川县| 普兰店市| 甘洛县| 榕江县| 榆社县| 民县| 广河县| 五大连池市| 金昌市| 开阳县| 灵武市| 台东县| 吉林省| 北辰区| 略阳县| 汉阴县| 南雄市| 安徽省| 松阳县| 蒙山县| 盱眙县| 临城县| 和平县| 武汉市| 安福县| 定西市| 中江县| 西华县| 大名县| 浪卡子县| 宜宾县| 嘉定区|