Hibernate實體對象的生命周期
Hibernate實體對象的生命周期
實體對象的3種狀態
Transient(自由狀態)
所謂的Transient,即實體對象在內存中自由存在,它與數據庫中的記錄無關.
Persistent(持久狀態)
所謂的Persistent,即Hibernate實體對象處于由Hibernate框架所管理的狀態,這種狀態下,實體對象的引用被納入了Hibernate實體容器中加以管理.
處于Persistent狀態的對象,其變更將由Hibernate持久化到數據庫中. 簡而言之,如果一個實體對象與某個Session實例發生了關聯,并處于對應Session的有效期內,那么它將處于Persistent狀態.
Detached(游離狀態)
處于Persistent狀態的對象,其對應的Session實例關閉之后,那么些對象就處于"Detached"狀態.在數據庫中存在對應的記錄. 同時,三種狀態可以相互轉換.
Hibernate實體對象的識別
◆實體身份識別(Data Identity)
◆引用比較(==)
◆內容比較(equals)
在站數據庫的角度,我們認為,在一個庫表結構中,主鍵可以惟一確定一條記錄,那么擁有同樣主鍵的實體對象,則認為他們等同.在Hibernate中,這個規則亦成立.
【編輯推薦】