標籤:
1.session到底如何進行髒檢查?
當一個Dept對象加入到Session緩衝中時, Session會為Dept對象的實值型別的屬性複製一份快照,當Session重新整理緩衝時,會進行髒檢查,即比較Dept對象的當前屬性和他的快照,來判斷Dept對象的屬性是否發生了變化,
如果發生了變化,Session會根據髒對象的最新屬性來執行相關的SQL語句,將變化更新到資料庫中.
2.OID
用來持久化資料的唯一標識,在小配置裡邊的id標籤中存在.
2.主鍵建置原則.
Uuid:32位的16進位數.
3.PO VO DTO
PO=javabean
pojo =javabean +小配置
4.get和load()的區別?
load():沒有使用對象的其他屬性的時候,沒有sql 消極式載入
get():沒有使用對象的其他屬性的時候,也產生了sql 立即載入
是什麼導致了消極式載入?
解析:是因為記憶體中構建了代理對象.
Handler:處理人
5.session(線程非安全) SessionFactory (安全執行緒)
PDF
Session是線程非安全的
主要是Sessionfactory 是借口,裡邊的方法全部用final修飾.
6.java對象的三種狀態
持久態
Student stu =new Student():
session.save(stu);
session中有,DB中也有
瞬時態
Student stu =new Student();
體現在DB和session中都沒有
游離態
stu.setId(18);
session中有,DB中沒有
session.close();
DB中有,session中沒有
7.Session
可以簡單的理解成一個Connection
Session是持久化對象的容器
如果兩個get()同一個oid,那麼 第二次不在sql,說明了一級緩衝的存在性.
load()和get()都可以給緩衝放入資料,和取出資料.
hibernate 資料處理