Session 用於獲取與數據庫的物理鏈接。 Session 對象是輕量級的,而且設計爲在每次須要與數據庫進行交互時被實例化。持久態對象被保存,並經過 Session 對象檢索找回。數據庫
該 Session 對象不該該長時間保持開放狀態,由於它們一般不能保證線程安全,而應該根據需求被建立和銷燬。Session 的主要功能是爲映射實體類的實例提供建立,讀取和刪除操做。這些實例可能在給定時間點時存在於如下三種狀態之一:安全
瞬時狀態就是剛new出來一個對象,尚未被保存到數據庫中,持久化狀態就是已經被保存到數據庫中,離線狀態就是數據庫中有,可是session中不存在該對象。若 Session 實例的持久態類別是序列化的,則該 Session 實例是序列化的。若是 Session 引起異常,則事務必須被回滾,該 session 必須被丟棄。session
Session接口經常使用方法spa
開始工做單位,並返回關聯事務對象。線程
取消當前的查詢執行。設計
徹底清除該會話。對象
經過釋放和清理 JDBC 鏈接以結束該會話。接口
爲給定的實體類或實體類的超類建立一個新的 Criteria 實例。事務
爲給定的實體名稱建立一個新的 Criteria 實例。字符串
返回與給定實體相關聯的會話的標識符值。
爲給定的集合和過濾字符建立查詢的新實例。
爲給定的 HQL 查詢字符建立查詢的新實例。
爲給定的 SQL 查詢字符串建立 SQLQuery 的新實例。
從數據存儲中刪除持久化實例。
從數據存儲中刪除持久化實例。
返回給定命名的且帶有給定標識符或 null 的持久化實例(若無該種持久化實例)。
獲取建立該會話的 session 工廠。
從基本數據庫中從新讀取給定實例的狀態。
獲取與該 session 關聯的事務實例。
檢查當前 session 是否鏈接。
該 session 中是否包含必須與數據庫同步的變化?
檢查該 session 是否仍處於開啓狀態。
先分配一個生成的標識,以保持給定的瞬時狀態實例。
保存(對象)或更新(對象)給定的實例。
更新帶有標識符且是給定的處於脫管狀態的實例的持久化實例。
更新帶有標識符且是給定的處於脫管狀態的實例的持久化實例。