hibernate持久化對象三種狀態及其轉換

來源:互聯網
上載者:User

標籤:託管   str   指定   nat   設定   技術   清空   游離態   log   

持久化類類三種狀態介紹
1. 瞬時態:也叫做臨時態或自由態,它一般指我們 new 出來的對象,它不存在 OID,
     與 hibernate session 無關聯,在資料庫中也無記錄。它使用完成後,會被 jvm 直接
     回收掉,它只是用於資訊攜帶。
簡單說:無 OID 與資料庫中的資訊無關聯,不在 session 管理範圍內。
2. 持久態:在 hibernate session 管理範圍內,它具有持久化標識 OID 它的特點,在事
     務未提交前一直是持久態,當它發生改變時, hibernate 是可以檢測到的。
簡單說:有 OID 由 session 管理,在資料庫中有可能有,也有可有沒有。
3. 託管態:也叫做游離態或離線態,它是指持久態對象失去了與 session 的關聯,托
     管態對象它存在 OID,在資料庫中有可能存在,也有可能不存在。  
     對於託管態對象,它發生改變時 hibernet 不能檢測到。

 

持久化類三種狀態切換

1. 瞬時態(new 出來的)
 瞬時------>持久 save saveOrUpdate
 瞬時----->脫管(游離) 手動設定 oid
2. 持久態 它是由 session 管理
 持久------->瞬時 delete() 被刪除後持久化對象不在建議使用
 持久----->脫管 注意:session 它的緩衝就是所說的一級緩衝
 evict(清除一級緩衝 中指定的一個對象)
 clear(清空一級緩衝)
 close(關閉,清空一級緩衝)
3. 脫管態 (它是無法直接擷取)
 脫管----->瞬時 直接將 oid 刪除
 脫管---->持久 update saveOrUpdate lock(過時)

hibernate持久化對象三種狀態及其轉換

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.