1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. Hibernate應(yīng)用中Java對(duì)象的狀態(tài)類型

        時(shí)間:2020-09-23 18:18:08 SUN認(rèn)證 我要投稿

        關(guān)于Hibernate應(yīng)用中Java對(duì)象的狀態(tài)類型

          臨時(shí)狀態(tài)(Transient):也叫瞬時(shí)狀態(tài)。new出來的對(duì)象,沒有被持久化處理,不處于Session緩存中的對(duì)象

          持久化狀態(tài)(Persistent):已經(jīng)被持久化,加入到Session的緩存中

          游離狀態(tài)(Detached):也叫脫管狀態(tài)。已經(jīng)被持久化,但是不處在Session緩存中

          ⑴臨時(shí)對(duì)象的特征:

          不處于Session緩存中(不被任何一個(gè)Session實(shí)例關(guān)聯(lián))

          在數(shù)據(jù)庫中沒有對(duì)應(yīng)的記錄

          進(jìn)入臨時(shí)狀態(tài)的條件:

          new一個(gè)Java對(duì)象,他處于臨時(shí)狀態(tài),不和數(shù)據(jù)庫任何記錄關(guān)聯(lián)

          Session的delete方法能夠是一個(gè)持久化對(duì)象或游離對(duì)象轉(zhuǎn)變?yōu)榕R時(shí)狀態(tài);對(duì)于游離對(duì)象,

          delete方法從數(shù)據(jù)庫中刪除與它對(duì)應(yīng)的記錄;對(duì)于持久化對(duì)象,delete方法從數(shù)據(jù)庫中刪除與它對(duì)應(yīng)的記錄,

          并把它從session緩存中刪除

         、瞥志没瘜(duì)象的特征:

          在一個(gè)Session實(shí)例的緩存中(與一個(gè)Session關(guān)聯(lián))

          持久化對(duì)象和數(shù)據(jù)庫中的相關(guān)記錄對(duì)應(yīng)

          Session清理緩存時(shí),會(huì)根據(jù)持久化對(duì)象的屬性變化,來同步更新數(shù)據(jù)庫

          進(jìn)入持久化狀態(tài)的條件

          session的save方法

          session的load和get方法返回的對(duì)象都是處于持久化狀態(tài)

          session的find方法返回的List中存在的對(duì)象都是處于持久化狀態(tài)

          session的update、saveOrUpdate和lock方法使得游離對(duì)象轉(zhuǎn)換為持久化狀態(tài)

          當(dāng)一個(gè)持久化對(duì)象關(guān)聯(lián)一個(gè)臨時(shí)對(duì)象,在允許級(jí)聯(lián)保存的情況下,Session在清理緩存時(shí)把這個(gè)對(duì)象也轉(zhuǎn)變?yōu)槌志没癄顟B(tài)

         、怯坞x對(duì)象的特征:

          不再位于session緩存中(游離對(duì)象不被Session關(guān)聯(lián))

          游離對(duì)象是從持久化對(duì)象轉(zhuǎn)變過來的,因此在數(shù)據(jù)庫中可能還存在與其對(duì)應(yīng)的記錄

          游離對(duì)象與臨時(shí)對(duì)象的區(qū)別在于:前者是由持久化對(duì)象轉(zhuǎn)變過來的,前者在數(shù)據(jù)庫中還存在與之對(duì)應(yīng)的記錄,

          而后者在數(shù)據(jù)庫中沒有與之對(duì)應(yīng)的記錄;

          進(jìn)入游離狀態(tài)的條件

          當(dāng)調(diào)用session的close方法的`時(shí)候,session緩存被清空,緩存中的所有持久化對(duì)象都變?yōu)橛坞x狀態(tài)。如果此時(shí)再?zèng)]有其它變量引用的時(shí)候,其生命周期結(jié)束

          session的evict方法能夠從緩存中刪除一個(gè)持久化對(duì)象,使它變?yōu)橛坞x狀態(tài)。如果內(nèi)存中存在大量的對(duì)象的時(shí)候,可以通過這個(gè)方法來刪除緩存中的對(duì)象(不建議使用這個(gè)方法,還是使用查詢的方法和常規(guī)方法來處理對(duì)象在內(nèi)存 中的深度)

        【關(guān)于Hibernate應(yīng)用中Java對(duì)象的狀態(tài)類型】相關(guān)文章:

        Java中基本數(shù)據(jù)類型與應(yīng)用11-08

        JAVA認(rèn)證開源技術(shù):關(guān)于Java的對(duì)象equals方法05-14

        如何傳輸Java對(duì)象10-10

        Java內(nèi)存溢出的類型10-07

        Java面向?qū)ο笤O(shè)計(jì)的經(jīng)驗(yàn)原則10-12

        Java標(biāo)準(zhǔn)類庫中類型怎么相互轉(zhuǎn)化10-08

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>