hibernate中懶載入和急載入的區別,以及hibernate中get()方法和load()方法的區別

來源:互聯網
上載者:User

標籤:異常   關閉   資料   session   ssi   ber   也會   基本   實體   



    * 懶載入在載入一個實體的時候,不會馬上從資料庫中載入,即從資料庫中載入到記憶體。而急載入在載入一個實體時,會立即從資料庫中查詢,與其關聯的類也會被同時查詢。

急載入就會很快,因為在第一次載入的時候,已經幫我們全部載入好了。而懶載入則會相對慢一些,因為在我門需要查詢的時候,它才會執行sql操作。

所以懶載入的優點是佔用記憶體小,執行速度慢;急載入是執行速度快,佔用記憶體高

          hibernate的get()he load()方法在執行的時候又很大的區別,

執行get()方法會把所有的基本資料全部載入,

而load()方法在懶載入中只會載入ID屬性,所有的ID屬性,其他的非ID屬性的操作都不會執行,當我們需要查詢默寫具體的資料是才會真的執行sql操作,因為懶載入的有效期間是在一個session中,所以今天我們在關閉了session的情況下會報錯,因為Hibernate嘗試通過當前session發sql查詢,但發現session已經關閉,這樣就會發出no session的異常 。

我們可以吧載入方式變成急載入或者不關閉session。

 



hibernate中懶載入和急載入的區別,以及hibernate中get()方法和load()方法的區別

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.