懶加載(延遲加載)


懶加載FatchType.LAZY也稱為延遲加載,是Hibernate3關聯關系對象默認的加載方式,所謂懶加載就是當在真正需要數據的時候,才真正執行數據加載操作。簡單理解為,只有在使用的時候,才會發出sql語句進行查詢。
懶加載的有效期是在session打開的情況下,當session關閉后,會報異常。當調用load方法加載對象時,返回代理對象,等到真正用到對象的內容時才發出sql語句。
急加載FatchType.EAGER 也成為立即加載,時立即執行sql語句。
在session沒有關閉的之前,如果訪問除id外的其他屬性才會發sql語句去查詢,我們經常犯的一個錯誤就是在當前session關閉以后訪問由load()加載的對象的非id屬性,
此時Hibernate嘗試通過當前session發sql查詢,但發現session已經關閉,這樣就會發出no session的異常 。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM