怎么在Java中實(shí)現(xiàn)實(shí)體對(duì)象的三種狀態(tài)?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
站在用戶的角度思考問題,與客戶深入溝通,找到曹妃甸網(wǎng)站設(shè)計(jì)與曹妃甸網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋曹妃甸地區(qū)。Java可以用來干什么Java主要應(yīng)用于:1. web開發(fā);2. Android開發(fā);3. 客戶端開發(fā);4. 網(wǎng)頁開發(fā);5. 企業(yè)級(jí)應(yīng)用開發(fā);6. Java大數(shù)據(jù)開發(fā);7.游戲開發(fā)等。
最新的Hibernate文檔中為Hibernate對(duì)象定義了四種狀態(tài)(原來是三種狀態(tài),面試的時(shí)候基本上問的也是三種狀態(tài)),分別是:瞬時(shí)態(tài)(new, or transient)、持久態(tài)(managed, or persistent)、游狀態(tài)(detached)和移除態(tài)(removed,以前Hibernate文檔中定義的三種狀態(tài)中沒有移除態(tài)),如下圖所示,就以前的Hibernate文檔中移除態(tài)被視為是瞬時(shí)態(tài)。
瞬時(shí)態(tài):當(dāng)new一個(gè)實(shí)體對(duì)象后,這個(gè)對(duì)象處于瞬時(shí)態(tài),即這個(gè)對(duì)象只是一個(gè)保存臨時(shí)數(shù)據(jù)的內(nèi)存區(qū)域,如果沒有變量引用這個(gè)對(duì)象,則會(huì)被JVM的垃圾回收機(jī)制回收。這個(gè)對(duì)象所保存的數(shù)據(jù)與數(shù)據(jù)庫沒有任何關(guān)系,除非通過Session的save()、saveOrUpdate()、persist()、merge()方法把瞬時(shí)態(tài)對(duì)象與數(shù)據(jù)庫關(guān)聯(lián),并把數(shù)據(jù)插入或者更新到數(shù)據(jù)庫,這個(gè)對(duì)象才轉(zhuǎn)換為持久態(tài)對(duì)象。持久態(tài):持久態(tài)對(duì)象的實(shí)例在數(shù)據(jù)庫中有對(duì)應(yīng)的記錄,并擁有一個(gè)持久化標(biāo)識(shí)(ID)。對(duì)持久態(tài)對(duì)象進(jìn)行delete操作后,數(shù)據(jù)庫中對(duì)應(yīng)的記錄將被刪除,那么持久態(tài)對(duì)象與數(shù)據(jù)庫記錄不再存在對(duì)應(yīng)關(guān)系,持久態(tài)對(duì)象變成移除態(tài)(可以視為瞬時(shí)態(tài))。持久態(tài)對(duì)象被修改變更后,不會(huì)馬上同步到數(shù)據(jù)庫,直到數(shù)據(jù)庫事務(wù)提交。游離態(tài):當(dāng)Session進(jìn)行了close()、clear()、evict()或flush()后,實(shí)體對(duì)象從持久態(tài)變成游離態(tài),對(duì)象雖然擁有持久和與數(shù)據(jù)庫對(duì)應(yīng)記錄一致的標(biāo)識(shí)值,但是因?yàn)閷?duì)象已經(jīng)從會(huì)話中清除掉,對(duì)象不在持久化管理之內(nèi),所以處于游離態(tài)(也叫脫管態(tài))。游離態(tài)的對(duì)象與臨時(shí)狀態(tài)對(duì)象是十分相似的,只是它還含有持久化標(biāo)識(shí)。
看完上述內(nèi)容,你們掌握怎么在Java中實(shí)現(xiàn)實(shí)體對(duì)象的三種狀態(tài)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站題目:怎么在Java中實(shí)現(xiàn)實(shí)體對(duì)象的三種狀態(tài)-創(chuàng)新互聯(lián)
鏈接分享:http://jinyejixie.com/article20/ghcjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、軟件開發(fā)、網(wǎng)站排名、營(yíng)銷型網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容