欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談Java實體對象的三種狀態(tài)以及轉(zhuǎn)換關(guān)系

 更新時間:2017年11月08日 16:28:30   作者:^_^  
這篇文章主要介紹了淺談Java實體對象的三種狀態(tài)以及轉(zhuǎn)換關(guān)系,具有一定參考價值,需要的朋友可以,看看。。

最新的Hibernate文檔中為Hibernate對象定義了四種狀態(tài)(原來是三種狀態(tài),面試的時候基本上問的也是三種狀態(tài)),分別是:瞬時態(tài)(new, or transient)、持久態(tài)(managed, or persistent)、游狀態(tài)(detached)和移除態(tài)(removed,以前Hibernate文檔中定義的三種狀態(tài)中沒有移除態(tài)),如下圖所示,就以前的Hibernate文檔中移除態(tài)被視為是瞬時態(tài)。

瞬時態(tài):當(dāng)new一個實體對象后,這個對象處于瞬時態(tài),即這個對象只是一個保存臨時數(shù)據(jù)的內(nèi)存區(qū)域,如果沒有變量引用這個對象,則會被JVM的垃圾回收機(jī)制回收。這個對象所保存的數(shù)據(jù)與數(shù)據(jù)庫沒有任何關(guān)系,除非通過Session的save()、saveOrUpdate()、persist()、merge()方法把瞬時態(tài)對象與數(shù)據(jù)庫關(guān)聯(lián),并把數(shù)據(jù)插入或者更新到數(shù)據(jù)庫,這個對象才轉(zhuǎn)換為持久態(tài)對象。持久態(tài):持久態(tài)對象的實例在數(shù)據(jù)庫中有對應(yīng)的記錄,并擁有一個持久化標(biāo)識(ID)。對持久態(tài)對象進(jìn)行delete操作后,數(shù)據(jù)庫中對應(yīng)的記錄將被刪除,那么持久態(tài)對象與數(shù)據(jù)庫記錄不再存在對應(yīng)關(guān)系,持久態(tài)對象變成移除態(tài)(可以視為瞬時態(tài))。持久態(tài)對象被修改變更后,不會馬上同步到數(shù)據(jù)庫,直到數(shù)據(jù)庫事務(wù)提交。游離態(tài):當(dāng)Session進(jìn)行了close()、clear()、evict()或flush()后,實體對象從持久態(tài)變成游離態(tài),對象雖然擁有持久和與數(shù)據(jù)庫對應(yīng)記錄一致的標(biāo)識值,但是因為對象已經(jīng)從會話中清除掉,對象不在持久化管理之內(nèi),所以處于游離態(tài)(也叫脫管態(tài))。游離態(tài)的對象與臨時狀態(tài)對象是十分相似的,只是它還含有持久化標(biāo)識。

總結(jié)

以上就是本文關(guān)于淺談Java實體對象的三種狀態(tài)以及轉(zhuǎn)換關(guān)系的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:java并發(fā)學(xué)習(xí)之BlockingQueue實現(xiàn)生產(chǎn)者消費者詳解、淺談java中字符串?dāng)?shù)組、字符串、整形之間的轉(zhuǎn)換、java實現(xiàn)遍歷樹形菜單兩種實現(xiàn)代碼分享等,有什么問題可以隨時留言,小編會及時回復(fù)大家的。感謝朋友們對本站的支持!

相關(guān)文章

  • Java基礎(chǔ)之Stream流原理與用法詳解

    Java基礎(chǔ)之Stream流原理與用法詳解

    從Java1.8開始提出了Stream流的概念,側(cè)重對于源數(shù)據(jù)計算能力的封裝,并且支持序列與并行兩種操作方式。本文就來為大家詳細(xì)講講Stream流原理與用法
    2022-08-08
  • java對象與json對象之間互相轉(zhuǎn)換實現(xiàn)方法示例

    java對象與json對象之間互相轉(zhuǎn)換實現(xiàn)方法示例

    這篇文章主要介紹了java對象與json對象之間互相轉(zhuǎn)換實現(xiàn)方法,結(jié)合實例形式分析了java對象與json對象相互轉(zhuǎn)換實現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • Java的logback自定義日志脫敏組件詳解

    Java的logback自定義日志脫敏組件詳解

    這篇文章主要介紹了Java的logback自定義日志脫敏組件詳解,一個項目在書寫了很多打印日志的代碼,但是后面有了脫敏需求,如果我們?nèi)ナ謩痈膭哟a,會花費大量時間,如果引入本組件,完成配置即可輕松完成脫敏,需要的朋友可以參考下
    2023-11-11
  • spring關(guān)于組件的注入及獲取流程場景分析

    spring關(guān)于組件的注入及獲取流程場景分析

    這篇文章主要介紹了spring關(guān)于組件的注入及獲取流程場景分析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-07-07
  • Java數(shù)據(jù)結(jié)構(gòu)之HashMap和HashSet

    Java數(shù)據(jù)結(jié)構(gòu)之HashMap和HashSet

    這篇文章主要介紹了HashMap和HashSet,什么是哈希表以及HashMap的部分源碼解讀,想了解更多的小伙伴,可以參考閱讀本文
    2023-03-03
  • MybatisPlus代碼生成器使用示例

    MybatisPlus代碼生成器使用示例

    MyBatis-Plus自動化的生成與數(shù)據(jù)庫表對應(yīng)的Java代碼文件,本文主要介紹了MybatisPlus代碼生成器使用示例,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • 流式圖表拒絕增刪改查之kafka核心消費邏輯下篇

    流式圖表拒絕增刪改查之kafka核心消費邏輯下篇

    這篇文章主要為大家介紹了流式圖表拒絕增刪改查之kafka核心消費邏輯講解的下篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 一篇文章帶你使用SpringBoot基于WebSocket的在線群聊實現(xiàn)

    一篇文章帶你使用SpringBoot基于WebSocket的在線群聊實現(xiàn)

    這篇文章主要介紹了一篇文章帶你使用SpringBoot基于WebSocket的在線群聊實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Idea2023創(chuàng)建springboot不能選擇java8的解決方法(最新推薦)

    Idea2023創(chuàng)建springboot不能選擇java8的解決方法(最新推薦)

    在idea2023版本創(chuàng)建springboot的過程中,選擇java版本時發(fā)現(xiàn)沒有java8版本,只有java17和java20,遇到這樣的問題如何解決呢,下面小編給大家分享Idea2023創(chuàng)建springboot不能選擇java8的解決方法,感興趣的朋友一起看看吧
    2024-01-01
  • java實現(xiàn)字符串和日期類型相互轉(zhuǎn)換的方法

    java實現(xiàn)字符串和日期類型相互轉(zhuǎn)換的方法

    這篇文章主要介紹了java實現(xiàn)字符串和日期類型相互轉(zhuǎn)換的方法,涉及java針對日期與字符串的轉(zhuǎn)換與運算相關(guān)操作技巧,需要的朋友可以參考下
    2017-02-02

最新評論