天天看點

Hibernate實體對象的生命周期(三種狀态詳解)

hibernate生命周期會經曆三種不同的狀态:

    1.transient(瞬态):實體對象在記憶體是自由存在的,即與資料庫中的資料沒有任何關系.換句話說就是:該實體從未與任何持久化上下文關聯過,它沒有持久化辨別.例如:    

     特征:

與資料庫中的記錄沒有任何關系,即沒有與其相關聯的資料庫記錄. 與session沒有任何關系.即沒有通過session對象的執行個體對其進行任何持久化的操作.

    2.persistent(持久态):該實體對象處于hibernate架構所管理的狀态,即這個實體對象與session對象的執行個體相關聯.例如:

    特征:

每個persistent狀态的實體對象都與一個session對象的執行個體相關聯 處于persistent狀态的實體對象是與資料庫中的記錄相關聯的. hibernate會依據persistent狀态的實體對象的屬性變化而改變資料庫中相對應的記錄.

    3.detached(遊離态也叫脫管态):對于persistent對象,當不再與它所對應的session對象相關聯時,這個對象就是遊離态.

特征: 遊離态是由持久态實體對象轉變而來的. 遊離态實體不再與session對象相關聯. 遊離态實體對象與資料庫中的記錄沒有直接聯系,對其所做的任何修改将不會影響到到資料庫中的資料. 遊離态實體對象在資料庫有相對應的資料記錄,如果沒有被其他事務删除.

原文連結:

<a href="http://blog.csdn.net/hgd250/article/details/2775943" target="_blank">http://blog.csdn.net/hgd250/article/details/2775943</a>