闡述Session載入實體物件的過程

2021-09-20 05:31:28 字數 516 閱讀 8379

session載入實體物件的步驟是:

① session在呼叫資料庫查詢功能之前,首先會在一級快取中通過實體型別和主鍵進行查詢,如果一級快取查詢命中且資料狀態合法,則直接返回;

② 如果一級快取沒有命中,接下來session會在當前nonexists記錄(相當於乙個查詢黑名單,如果出現重複的無效查詢可以迅速做出判斷,從而提公升效能)中進行查詢,如果nonexists中存在同樣的查詢條件,則返回null;

③ 如果一級快取查詢失敗則查詢二級快取,如果二級快取命中則直接返回;

④ 如果之前的查詢都未命中,則發出sql語句,如果查詢未發現對應記錄則將此次查詢新增到session的nonexists中加以記錄,並返回null;

⑤ 根據對映配置和sql語句得到resultset,並建立對應的實體物件;

⑥ 將物件納入session(一級快取)的管理;

⑦ 如果有對應的***,則執行***的onload方法;

⑧ 如果開啟並設定了要使用二級快取,則將資料物件納入二級快取;

⑨ 返回資料物件。

闡述「陣列就是物件」

陣列的建立和初始化是陣列使用的第一步,我們通過記憶體分析也讓大家更深入的了解陣列,通過記憶體分析,發現陣列存在於堆中同時,通過記憶體分析更加明白陣列的本質其實還是 物件 例如 public class test system.out.println a 2 3 記憶體分析圖 堆的特點如下 1.堆用於...

EF載入實體的方式

原文 loading related entities ef載入資料的方式 預載入 eager loading 延遲載入 lazy loading 顯示載入 explicit loading 預先載入會載入所有相關的實體,通過include方法來實現 1 using var context new ...

session常用物件

1 object getarrtibute string name 獲取與名字name相聯絡的屬性 2 void setarrtibute string name,object 設定指定名字的屬性值,並儲存在session中 3 long getcreationtime 返回session建立時間 ...