07 持久化配置

2021-08-18 19:42:35 字數 1440 閱讀 8358

1. 持久化物件 persistent object 

po = pojo + hbm對映配置

編寫規則

①必須提供無引數

public

構造器

②所有屬性

private,提供

public

的getter

和setter

方法

③必須提供標識屬性,與資料表中主鍵對應

,例如customer類id

屬性

po類屬性應盡量使用基本資料型別的包裝型別(區分空值)

例如int

---integer

long

---long

⑤不要用

final

修飾(將無法生成**物件進行優化)為什麼?

面試題:理解session的get方法與load方法區別

@test

// 測試session物件 get 和 load的區別

public

void

testgetandload

()

我們可以進行debug檢視cutomer物件,(斷點設定在列印語句)

session.get 方法, 查詢立即執行 , 返回customer類物件 

session.load 方法,預設採用延遲載入資料方式,不會立即查詢,返回 customer類子類物件 (動態生成**物件)

* 如果 po類使用final修飾,load無法建立**物件,返回目標物件本身 (load效果和 get效果 相同 )

2.理解oid  

oid 指與資料表中主鍵對應 po類中屬性,例如 customer類 id屬性 

hibernate框架使用oid來區分不同po物件 

* 例如 記憶體中有兩個po物件,只要具有相同 oid, hibernate認為同乙個物件 

* hibernate 不允許快取同樣oid的兩個不同物件 

3.區分自然主鍵和**主鍵 

使用具有業務含義字段作為主鍵 ----- 自然主鍵 ,例如:身份證號, 使用者名稱(難維護)

隨機生成,不具備業務含義的字段 ----**主鍵 , 例如 流水號 ,uuid 

***  

現在企業系統,大多使用**主鍵

4.使用基本資料型別還是包裝型別 ?

使用基本型別,無法區分 0 和 null , 使用int型別分數,如果學生分數為0 可以沒有考試, 也可能考試得了0分 

使用包裝型別,如果不設定資料,資料表存放null ,而不是預設值 0

* 以後開發中,po類屬性都使用包裝型別

介面動態配置 持久化反持久化

介面在可配置的情況下需要讀寫配置檔案,vcl提供了一種方式 treader 和 twriter 方式儲存介面資源。object form1 tform1 left 0 top 0 caption form1 object lbl1 tlabel left 200 top 152 end object...

Sentinel配置規則持久化

因此需要乙個地方來儲存dashboard中配置的規則,sentinel提供了多種持久化的方案,可以整合redis,mysql等,這裡為了演示方便,而且與springcloud alibaba一整套微服務框架無縫整合,使用nacos做規則的儲存,下面來看具體的使用步驟吧 1 pom檔案匯入如下依賴 c...

持久化 Powershell配置檔案永續性

可以使用powershell配置檔案進行永續性和 或特權公升級。獲取可以濫用的powershell配置檔案,這取決於你擁有的許可權。讓我們將 新增到 profile變數 擴充套件為當前使用者的配置檔案 中,該變數將在受感染的使用者下次啟動powershell控制台時執行 ps 1 如果無法執行ps1...