1. 程式人生 > >為什麼使用懶載入?為什麼hibernate中的實體不用private?懶載入用到那些地方,為什麼用?

為什麼使用懶載入?為什麼hibernate中的實體不用private?懶載入用到那些地方,為什麼用?

    1、懶載入又稱延遲載入,就是當你需要載入一個數據的時候,他只返回這個物件的代理物件,
    這個過程是通過CGLB實現的,CGLB代理是面向物件的代理,如果物件這個實體的屬性使用了private   許可權,則代理的過程中需要繼承這個類的子類將不會繼承這些屬性,所以懶載入則會失效;

    2、類級別懶載入,通常在標籤裡設定,當載入的資料非常多的時候,就不適合把資料放在快取中了,因為快取的資料都是放在記憶體中,  當資料過多時,就會影響效能。

   3、關聯級別懶載入,在一對一與一對多等中,如果你載入一個pojo(比如使用者user)時,如果不用懶載入,那麼, 返回的資料就會把user以及user關聯的聯絡人(比如linkman)也加載出來,但是我們只使用user,沒有用到linkman,造成資源浪費等