1. 程式人生 > >Hibernate 通過Session操作資料庫

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的相關方法能使物件從一個狀態轉換到另一個狀態