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



















