* 懶加載在加載一個實體的時候,不會馬上從數據庫中加載,即從數據庫中加載到內存。而急加載在加載一個實體時,會立即從數據庫中查詢,與其關聯的類也會被同時查詢。
急加載就會很快,因為在第一次加載的時候,已經幫我們全部加載好了。而懶加載則會相對慢一些,因為在我門需要查詢的時候,它才會執行sql操作。
所以懶加載的優點是占用內存小,執行速度慢;急加載是執行速度快,占用內存高
hibernate的get()he load()方法在執行的時候又很大的區別,
執行get()方法會把所有的基本數據全部加載,
而load()方法在懶加載中只會加載ID屬性,所有的ID屬性,其他的非ID屬性的操作都不會執行,當我們需要查詢默寫具體的數據是才會真的執行sql操作,因為懶加載的有效期是在一個session中,所以今天我們在關閉了session的情況下會報錯,因為Hibernate嘗試通過當前session發sql查詢,但發現session已經關閉,這樣就會發出no session的異常 。
我們可以吧加載方式變成急加載或者不關閉session。