hibernate清除二級緩存 Hibernate為什么提供了延遲加載?起什么作用?
Hibernate為什么提供了延遲加載?起什么作用?提高效率,主要是對屬性(在數(shù)據(jù)庫中存在相應(yīng)的表)進行延遲加載(load),在第一次查詢的時候,只查詢當前的表,當用到延遲加載的對象時(非延遲加載會查
Hibernate為什么提供了延遲加載?起什么作用?
提高效率,主要是對屬性(在數(shù)據(jù)庫中存在相應(yīng)的表)進行延遲加載(load),在第一次查詢的時候,只查詢當前的表,當用到延遲加載的對象時(非延遲加載會查詢所有關(guān)聯(lián)屬性的表),會先從緩存中去找延遲加載的對象(如果session已經(jīng)關(guān)閉,會拋出SessionClosedException),如果對象已經(jīng)在緩存中,則直接從緩存獲取,如果對象不在緩存中,則進入數(shù)據(jù)庫查找,所以,延遲加載是為了提高效率,如果在hibernate映射文件lazy設(shè)置成false,用load則和用get效果一樣