hibernate還有人用嗎 hibernate三種狀態(tài)轉(zhuǎn)換有什么用?
hibernate三種狀態(tài)轉(zhuǎn)換有什么用?對于hibernate,它的對象有三種狀態(tài):瞬時、持久和分離1。瞬態(tài):瞬態(tài)或自由狀態(tài)(newdeptpo(1,local administration depa
hibernate三種狀態(tài)轉(zhuǎn)換有什么用?
對于hibernate,它的對象有三種狀態(tài):瞬時、持久和分離
1。瞬態(tài):瞬態(tài)或自由狀態(tài)(newdeptpo(1,local administration department,20,local administration related),Po實例與會話不關(guān)聯(lián),Po實例處于瞬態(tài))
2。Persistent:持久狀態(tài)(與數(shù)據(jù)庫中的記錄一致)映射到Po實例,其狀態(tài)為Persistent,get和load得到的對象為Persistent)
3。Detached:當(dāng)get或load方法得到的Po對象是持久的,但是如果delete(Po)被執(zhí)行(但是事務(wù)不能被執(zhí)行),Po狀態(tài)被分離(表示它與session沒有關(guān)聯(lián)),因為de(2)當(dāng)session關(guān)閉時,會話緩存中的持久Po對象也會分離。如果會話已關(guān)閉并變?yōu)榭臻e,則它將通過鎖定、保存和更新而持久化。通過調(diào)用delete(),持久實例可以變?yōu)榉峭泄軐嵗?。get()或load()方法獲得的實例是持久的。失控狀態(tài)的實例可以通過調(diào)用lock()或replicate()持久化。Save()和persist()將導(dǎo)致SQL insert,delete()將導(dǎo)致sqldelete,update()或merge()將導(dǎo)致sqlupdate。刷新提交期間將檢測到對持久實例的更改,這也將導(dǎo)致SQL更新。Saveorupdate()或replicate()將引發(fā)sqlinsert或update