本篇內容主要講解“java之Hibernate的狀態是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“java之Hibernate的狀態是什么”吧!
成都創新互聯公司是一家專注于成都網站建設、網站設計與策劃設計,淮陰網站建設哪家好?成都創新互聯公司做網站,專注于網站建設十余年,網設計領域的專業建站公司;建站業務涵蓋:淮陰等地區。淮陰做網站價格咨詢:028-86922220
1.瞬時狀態
通過new開辟內存空間創建的實體對象,但是它沒有納入hibernate session的管理之中,如果沒有變量對它引用,它將會被JVM(垃圾回收器)回收。瞬時狀態的對象在內存中是孤立的,它與數據庫無任何關聯,僅僅是一個信息攜帶的載體。
一個瞬時狀態對象被持久化狀態對象引用,它也會自動變為持久化狀態對象。例如調用session的save、saveorupdate等方法的時候。
特征:
(1)使用 new 創建出來的對象,沒有設置 id 屬性
(2)沒有被 session 托管,換句話說 對象數據 存放在內存中, 沒有存放到 session 緩存中
(3)臨時對象數據 與 數據庫中的數據 還沒任何關聯
2.持久化狀態
持久化狀態對象存在與數據庫中的數據關聯,它總是與會話狀態(Session)和事務(Transaction)關聯在一起。當持久化狀態對象發生變動時并不會立即執行數據庫操作,只有當事務結束時,才會更新數據庫,以便保證Hibernate的持久化對象和數據庫操作的同步性。
當持久化狀態對象變為托管狀態對象時,它將不在Hibernate持久層的管理范圍之內。
特征:
(1)要么是從數據庫中使用 get 或 load 方法查詢到的數據對象, 要么是 使用save 或 update 方法數據轉變成持久層對象
(2)對象 數據被 session 托管。換句話說 對象數據 在 session 緩存中有一份,在數據庫中有相應的記錄
3.脫管狀態
當持久化對象的Session關閉之后,這個對象就從持久化狀態變為托管狀態。托管狀態的對象仍然在與數據庫中的數據關聯,但是他并不在Hibernate的Session管轄范圍之內。
如果將脫管狀態的對象重新關聯到某個新的Session上,它將變回持久化狀態對象。
特征:
(1)主要是通過 持久狀態對象,調用 session.evict() 或 session.clear() 或 session.close() 得到的,也可以new 一個設置 id 值的對象
(2)session 緩存中沒有,內存中有的對象(注: 該對象設置了 id 值)
4.刪除態
調用session的delete方法時,對象轉為刪除態。刪除態只能等待被回收。
Java的基本數據類型分為:
1、整數類型,用來表示整數的數據類型。
2、浮點類型,用來表示小數的數據類型。
3、字符類型,字符類型的關鍵字是“char”。
4、布爾類型,是表示邏輯值的基本數據類型。
到此,相信大家對“java之Hibernate的狀態是什么”有了更深的了解,不妨來實際操作一番吧!這里是創新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!