• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. Hibernate應用中Java對象的狀態類型

        時間:2024-06-11 14:41:55 SUN認證 我要投稿
        • 相關推薦

        關于Hibernate應用中Java對象的狀態類型

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

          持久化狀態(Persistent):已經被持久化,加入到Session的緩存中

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

          ⑴臨時對象的特征:

          不處于Session緩存中(不被任何一個Session實例關聯)

          在數據庫中沒有對應的記錄

          進入臨時狀態的條件:

          new一個Java對象,他處于臨時狀態,不和數據庫任何記錄關聯

          Session的delete方法能夠是一個持久化對象或游離對象轉變為臨時狀態;對于游離對象,

          delete方法從數據庫中刪除與它對應的記錄;對于持久化對象,delete方法從數據庫中刪除與它對應的記錄,

          并把它從session緩存中刪除

          ⑵持久化對象的特征:

          在一個Session實例的緩存中(與一個Session關聯)

          持久化對象和數據庫中的相關記錄對應

          Session清理緩存時,會根據持久化對象的屬性變化,來同步更新數據庫

          進入持久化狀態的條件

          session的save方法

          session的load和get方法返回的對象都是處于持久化狀態

          session的find方法返回的List中存在的對象都是處于持久化狀態

          session的update、saveOrUpdate和lock方法使得游離對象轉換為持久化狀態

          當一個持久化對象關聯一個臨時對象,在允許級聯保存的情況下,Session在清理緩存時把這個對象也轉變為持久化狀態

          ⑶游離對象的特征:

          不再位于session緩存中(游離對象不被Session關聯)

          游離對象是從持久化對象轉變過來的,因此在數據庫中可能還存在與其對應的記錄

          游離對象與臨時對象的區別在于:前者是由持久化對象轉變過來的,前者在數據庫中還存在與之對應的記錄,

          而后者在數據庫中沒有與之對應的記錄;

          進入游離狀態的條件

          當調用session的close方法的時候,session緩存被清空,緩存中的所有持久化對象都變為游離狀態。如果此時再沒有其它變量引用的時候,其生命周期結束

          session的evict方法能夠從緩存中刪除一個持久化對象,使它變為游離狀態。如果內存中存在大量的對象的時候,可以通過這個方法來刪除緩存中的對象(不建議使用這個方法,還是使用查詢的方法和常規方法來處理對象在內存 中的深度)

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

        【Hibernate應用中Java對象的狀態類型】相關文章:

        Java中基本數據類型與應用07-27

        Java內存溢出的類型10-03

        JAVA認證開源技術:關于Java的對象equals方法06-26

        Java基本數據類型09-20

        java面向對象編程題庫及答案07-28

        JAVA面向對象的三大特性06-14

        小學應用題類型09-13

        javascript面向對象中的對象怎么理解09-02

        java數據類型和運算符10-24

        在java中Synchronized的用法10-15

        在线咨询
        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 免费的aⅴ中文字幕 | 日韩精品第一页 | 亚洲成亚洲成网中文字幕 | 亚洲日韩欧美一区二区三四区 | 最新精品国偷自产在线美女足 | 免费午夜国产视频 |

            關于Hibernate應用中Java對象的狀態類型

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

              持久化狀態(Persistent):已經被持久化,加入到Session的緩存中

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

              ⑴臨時對象的特征:

              不處于Session緩存中(不被任何一個Session實例關聯)

              在數據庫中沒有對應的記錄

              進入臨時狀態的條件:

              new一個Java對象,他處于臨時狀態,不和數據庫任何記錄關聯

              Session的delete方法能夠是一個持久化對象或游離對象轉變為臨時狀態;對于游離對象,

              delete方法從數據庫中刪除與它對應的記錄;對于持久化對象,delete方法從數據庫中刪除與它對應的記錄,

              并把它從session緩存中刪除

              ⑵持久化對象的特征:

              在一個Session實例的緩存中(與一個Session關聯)

              持久化對象和數據庫中的相關記錄對應

              Session清理緩存時,會根據持久化對象的屬性變化,來同步更新數據庫

              進入持久化狀態的條件

              session的save方法

              session的load和get方法返回的對象都是處于持久化狀態

              session的find方法返回的List中存在的對象都是處于持久化狀態

              session的update、saveOrUpdate和lock方法使得游離對象轉換為持久化狀態

              當一個持久化對象關聯一個臨時對象,在允許級聯保存的情況下,Session在清理緩存時把這個對象也轉變為持久化狀態

              ⑶游離對象的特征:

              不再位于session緩存中(游離對象不被Session關聯)

              游離對象是從持久化對象轉變過來的,因此在數據庫中可能還存在與其對應的記錄

              游離對象與臨時對象的區別在于:前者是由持久化對象轉變過來的,前者在數據庫中還存在與之對應的記錄,

              而后者在數據庫中沒有與之對應的記錄;

              進入游離狀態的條件

              當調用session的close方法的時候,session緩存被清空,緩存中的所有持久化對象都變為游離狀態。如果此時再沒有其它變量引用的時候,其生命周期結束

              session的evict方法能夠從緩存中刪除一個持久化對象,使它變為游離狀態。如果內存中存在大量的對象的時候,可以通過這個方法來刪除緩存中的對象(不建議使用這個方法,還是使用查詢的方法和常規方法來處理對象在內存 中的深度)