Hibernate實體對象的生命週期

  Hibernate是完整的對象/關係映射解決方案。使用Hibernate不必考慮SQL語句的執行,這部分由Hibernate處理,開發者只需要關注JavaBean對象的狀態。Hibernate提供了對象狀態管理的功能,使開發者不再需要理會底層數據庫系統的細節。Hibernate實體對象可以分爲3種狀態:
  

  1. 瞬態(Transient)
    由new操作符創建,且尚未與Hibernate Session關聯的對象唄認定爲瞬時的,瞬時對象和數據庫的記錄沒有任何聯繫,因而也不會被賦予持久化表示,在應用程序中,如果沒有保持對瞬時對象的引用,會被垃圾回收器銷燬。
  2. 持久態(Persistent)
    一旦處於瞬時狀態的對象和session關聯,它就轉換爲持久態。持久的實例在數據庫中有對應的記錄,並擁有一個持久化標識,持久的實例可能是剛被保存到數據庫的,或者是剛從數據庫加載的。在於session斷開連接之前,Hibernate會檢測到處於持久狀態的對象的任何改動,並且在當前操作單元執行完畢時將對象中的數據與數據庫的相關記錄同步。
  3. 遊離態(Detached)
    一旦與持久對象關聯的session被關閉後,對象就變爲遊離的。在遊離期間,該對象可繼續被修改,如果遊離對象被重新關聯到某個session上,會再次轉變爲持久態,這時在遊離期間的任何改動都會被保存到數據庫中。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章