Hibernate對象的三種狀態是:瞬時狀態(Transient)、持久狀態(Persistent)和游離狀態(Detached)。
瞬時狀態(Transient):當一個對象通過創建一個新的實例并設置其屬性時,它處于瞬時狀態。此時對象沒有與數據庫中的任何記錄有關聯,并且不受Hibernate的管理和跟蹤。
持久狀態(Persistent):當一個瞬時狀態的對象被關聯到一個SessionFactory時,它就進入了持久狀態。持久狀態的對象與數據庫中的記錄相對應,并受Hibernate的管理和跟蹤。在持久狀態下,對該對象的任何更改都會在Session的flush操作后被自動同步到數據庫中。
游離狀態(Detached):當一個持久狀態的對象與Session分離時,它就進入了游離狀態。游離狀態的對象不再受Hibernate的管理和跟蹤,對該對象的任何更改都不會自動同步到數據庫中。但是,游離狀態的對象可以重新關聯到一個Session中,然后再次變為持久狀態,并且可以被Hibernate的管理和跟蹤。