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...