Hibernate的數據對象一共有三種狀態:
1:瞬時狀態(臨時狀態)
代表當前數據只存在於內存中,對象的主鍵屬性無數據或數據無效。
瞬時狀態出現的可能:可能是新創建的對象,可能是被刪除的持久狀態或遊離狀態的數據對象。
2:持久狀態
代表當前數據對象在內存中存在,且在數據庫表中有記錄與之對應
此狀態下的數據對象被Session所管理
此狀態下的數據對象一定存在主鍵屬性數據。
持久狀態出現的可能:可能從數據庫查詢對象時,臨時狀態對象被保存時,遊離狀態對象被更新或鎖定時。
3:遊離狀態
代表當前數據對象在內存中存在,且在數據庫對應表中有相應的記錄
此狀態下的數據對象不被Session管理
此狀態下的數據對象一定存在主鍵屬性數據。
遊離狀態對象的出現:可能是被Session清理時,或Session關閉時。