關於Session方法

來源:互聯網
上載者:User

標籤:

Session的load()方法和get()方法根據給定的對象id從資料庫表中載入一條記錄並轉換為一個特定的持久類對象。load()方法在沒有找到特定的持久類對象所對應的資料庫表中的記錄時,會拋出ObjectNotFoundException,而get()方法返回null。

    get()方法和load()方法返回的對象位於Session的緩衝中,因此黨對他的屬性進行修改後,Session清理緩衝時,會根據持久化對象的屬性來同步更新資料庫。

    load()和get()方法的區別:

   (1)load()方法:如果load方法不能再緩衝或者資料庫中找到對象,會拋出異常;load()方法從不返回null;load()方法返回一個代理類的執行個體而不是真正的持久執行個體。代理是一個預留位置,當第一次調用他時才裝載真正的對象。

    (2)get()方法:如果沒有找到對象返回null,另一方面,get()方法從不返回代理類而是直接返回實體類。load()方法可以充分利用內部緩衝和二級緩衝中的現有資料,而get()方法僅僅在內部緩衝中進行資料尋找,如果沒有發現對應的資料,將越過二級緩衝,直接調用SQL完成資料讀取。

    該如何選擇load()方法和get()方法:

    (1)load()方法應用在對象存在的情況下載入

    (2)利用get()方法可以首先判斷對象是否存在,然後在獲得它。

關於Session方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.