Hibernate中Session.load/get區別

一任天然發表於2008-11-12

出自《深入淺出Hibernate.

Session.load/get方法均可以根據指定的實體類和從資料庫讀取記錄,並返回與之對應的實體物件.

其區別在於:

1.       如果未能發現符合條件的記錄,get方法返回null,load方法會丟擲一個ObjectNotFoundException.

2.       Load方法可返回實體的代理類例項,get方法永遠直接返回實體類.

3.       load方法可以充分利用內部快取和二級快取中的現有資料,get方法則僅僅在內部快取中進行資料查詢,如沒有發現對應資料,將越過二級快取,直接呼叫SQL完成資料讀取.

相關文章