<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Hibernate應(yīng)用中Java對(duì)象的狀態(tài)類型

    時(shí)間:2024-06-11 14:41:55 SUN認(rèn)證 我要投稿
    • 相關(guā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ù)庫(kù)中沒有對(duì)應(yīng)的記錄

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

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

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

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

      并把它從session緩存中刪除

      ⑵持久化對(duì)象的特征:

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

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

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

      進(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)

      ⑶游離對(duì)象的特征:

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

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

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

      而后者在數(shù)據(jù)庫(kù)中沒有與之對(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)存 中的深度)

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

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

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

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

    Java基本數(shù)據(jù)類型09-20

    java面向?qū)ο缶幊填}庫(kù)及答案07-28

    小學(xué)應(yīng)用題類型09-13

    javascript面向?qū)ο笾械膶?duì)象怎么理解09-02

    java數(shù)據(jù)類型和運(yùn)算符10-24

    在java中Synchronized的用法10-15

    主站蜘蛛池模板: 国产成人精品视频一区二区不卡 | 国自产精品手机在线观看视频| 亚洲av午夜福利精品一区| 国产成人精品亚洲精品| 国内精品久久久久影院日本 | 亚洲欧洲精品成人久久奇米网| 91久久精品国产91性色也| 91精品国产综合久久久久久| 亚洲国产成人精品无码区在线观看| 精品久久久久久无码国产| 国产A级毛片久久久精品毛片| 99久久精品费精品国产一区二区| 久久精品麻豆日日躁夜夜躁| 亚洲综合av永久无码精品一区二区| 看99视频日韩精品| 久久精品国产亚洲AV不卡| 国产欧美精品一区二区三区四区| 99久久伊人精品综合观看| 久久久久国产精品| 日韩精品免费视频| 四虎精品影院永久在线播放| 欧美亚洲精品在线| 中文字幕精品一区影音先锋| 欧美精品手机在线播放| 四虎影视国产精品永久在线| 麻豆精品久久精品色综合| 国产精品一级香蕉一区| 国产精品久久网| 精品九九久久国内精品| 热久久这里只有精品| 91精品啪在线观看国产电影| 国产国产成人久久精品| 国产精品美女免费视频观看| 国产日韩精品无码区免费专区国产| 国产女人18毛片水真多18精品| 久久久久无码国产精品不卡 | 精品国产一区二区三区在线观看| 精品国产一区二区三区久久蜜臀| 久久91这里精品国产2020| 久久久亚洲精品蜜桃臀| 亚洲精品国产va在线观看蜜芽|