Hibernate 中的session 接口——精通Hibernate讀書摘記

讀了幾本Head First的書,發現有點被這套書給寵壞的感覺,讀起其他的書,有些不輕鬆,摘起來也不太容易,下面是對某些專題的採摘,從Session開始吧——

1、Session 接口是Hibernate 嚮應用程序提供的操作數據庫的最主要接口,提供了增刪改查Java對象的方法。

Session具有一個緩存,位於緩存中的對象稱爲持久化對象,它與數據庫中的相關記錄對應。

Session能按照緩存中對象的變化執行SQL語句,來同步更新數據庫,這一過程成爲清理緩存(flush)。(P179)

2、集合中存放的是Java對象的引用。(P180)

3、Session的get()方法先到Session緩存中查找OID爲X的對象,如果對象X不存在,就通過SQL select語句到數據庫中去加載該對象,並放在Session緩存中,當第二次調用get()方法時,由於緩存中存在X對象,就會直接返回該X對象的引用。(P182~183)

4、當一個對象加入到Session緩存中時,Session會爲該對象的值類型屬性複製一份快照(SnapShot),當清理緩存時,會比較當前對象和快照,判斷對象是否發生變化,從而判斷是否執行SQL語句來同步數據庫。(P184)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章