Hibernate的工作流程以及三種狀態


Hibernate的工作流程:

1. 讀取並解析配置文件

2.讀取並解析映射信息,創建SessionFactory 

3. 打開Sesssion 

4.創建事務Transation 

5. 持久化操作

6.提交事務 

7.關閉Session 

8. 關閉SesstionFactory 

 

 

 

Hibernate中bean 的三種狀態

 

Hibernate對象分為三種狀態:瞬時態(new 出來的或者實例化時session無關的),

持久態(session關聯)與游離態(曾經與session關聯)。其中持久態的對象是PO

,瞬時態、托管態的對象可作為VO。(PO不應該直接用作v層)所以在使用中應該注意三態的轉化。

如:

在進行數據操作的一系列過程中,save或者saveorupdate操作可以把瞬時態或者游離態的對象轉換成持久態,而

delete或者session的close、flush等操作將會把session相關聯的持久態對象轉換成游離態。

 

 

Hibernate對象的狀態和生命周期

 

使用new操作符初始化的對象是一個瞬時態的(Transient)

(沒有任何跟數據庫表相關聯的行為,只要應用不再引用這些對象,它們的狀態就會丟失,並由垃圾回收機制回收);

瞬時態對象經過save(),saveOrUpdate會轉換成持久態,由session統一管理,持久態對象的操作與數據庫同步;

持久態對象經過evict(),close(),clear()等會轉換成游離態,這時雖然被持久化,但是不在session緩存中,通過

lock(),update(),saveOrUpdate又會轉換成持久態。 通過get(),load(),find(),iterate()

獲得的對象直接就是持久態的。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM