Hibernate 通過Session操作數據庫

1.Session提供了保存,更新,刪除和加載Java對象的方法
2.Session具有一個緩存(Hibernate一級緩存),
位於緩存中的對象稱爲持久化對象,它和數據庫中相關的記錄對應
Session能夠在某些時間點,按照緩存中的對象的變化來執行相關的
SQL語句,從而同步更新數據庫(刷新緩存)
Session緩存中的對象數據與數據庫中的數據保存一致
flush()
在Transaction的commit()方法中:先調用session的flush方法,再提交SQL語句
flush()可能會發送SQL語句,但是不會提交事務
在Session未提交事務,也有可能會進行flush操作:
.執行HQL或QBC查詢,會先進行flush()操作,保證查詢結果是最新的
.(例外)若記錄的ID是由數據庫使用自增的方式生成的,則在調用save()方法時,就回立即發送insert語句
reflush()
強制向數據庫發送select語句,讓對象保持最新
clear():清除緩存
3.Hibernate把對象分爲4種狀態
持久化狀態
臨時狀態
遊離狀態
刪除狀態
調用Session的相關方法能使對象從一個狀態轉換到另一個狀態
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章