亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

Hibernate應(yīng)用中Java對象的狀態(tài)類型

時間:2020-09-23 18:18:08 SUN認(rèn)證 我要投稿

關(guān)于Hibernate應(yīng)用中Java對象的狀態(tài)類型

  臨時狀態(tài)(Transient):也叫瞬時狀態(tài)。new出來的對象,沒有被持久化處理,不處于Session緩存中的對象

  持久化狀態(tài)(Persistent):已經(jīng)被持久化,加入到Session的緩存中

  游離狀態(tài)(Detached):也叫脫管狀態(tài)。已經(jīng)被持久化,但是不處在Session緩存中

 、排R時對象的特征:

  不處于Session緩存中(不被任何一個Session實例關(guān)聯(lián))

  在數(shù)據(jù)庫中沒有對應(yīng)的記錄

  進(jìn)入臨時狀態(tài)的條件:

  new一個Java對象,他處于臨時狀態(tài),不和數(shù)據(jù)庫任何記錄關(guān)聯(lián)

  Session的delete方法能夠是一個持久化對象或游離對象轉(zhuǎn)變?yōu)榕R時狀態(tài);對于游離對象,

  delete方法從數(shù)據(jù)庫中刪除與它對應(yīng)的記錄;對于持久化對象,delete方法從數(shù)據(jù)庫中刪除與它對應(yīng)的記錄,

  并把它從session緩存中刪除

 、瞥志没瘜ο蟮奶卣:

  在一個Session實例的緩存中(與一個Session關(guān)聯(lián))

  持久化對象和數(shù)據(jù)庫中的相關(guān)記錄對應(yīng)

  Session清理緩存時,會根據(jù)持久化對象的屬性變化,來同步更新數(shù)據(jù)庫

  進(jìn)入持久化狀態(tài)的條件

  session的save方法

  session的load和get方法返回的對象都是處于持久化狀態(tài)

  session的find方法返回的List中存在的對象都是處于持久化狀態(tài)

  session的update、saveOrUpdate和lock方法使得游離對象轉(zhuǎn)換為持久化狀態(tài)

  當(dāng)一個持久化對象關(guān)聯(lián)一個臨時對象,在允許級聯(lián)保存的情況下,Session在清理緩存時把這個對象也轉(zhuǎn)變?yōu)槌志没癄顟B(tài)

  ⑶游離對象的特征:

  不再位于session緩存中(游離對象不被Session關(guān)聯(lián))

  游離對象是從持久化對象轉(zhuǎn)變過來的,因此在數(shù)據(jù)庫中可能還存在與其對應(yīng)的記錄

  游離對象與臨時對象的區(qū)別在于:前者是由持久化對象轉(zhuǎn)變過來的,前者在數(shù)據(jù)庫中還存在與之對應(yīng)的記錄,

  而后者在數(shù)據(jù)庫中沒有與之對應(yīng)的記錄;

  進(jìn)入游離狀態(tài)的條件

  當(dāng)調(diào)用session的close方法的`時候,session緩存被清空,緩存中的所有持久化對象都變?yōu)橛坞x狀態(tài)。如果此時再沒有其它變量引用的時候,其生命周期結(jié)束

  session的evict方法能夠從緩存中刪除一個持久化對象,使它變?yōu)橛坞x狀態(tài)。如果內(nèi)存中存在大量的對象的時候,可以通過這個方法來刪除緩存中的對象(不建議使用這個方法,還是使用查詢的方法和常規(guī)方法來處理對象在內(nèi)存 中的深度)

【關(guān)于Hibernate應(yīng)用中Java對象的狀態(tài)類型】相關(guān)文章:

Java中基本數(shù)據(jù)類型與應(yīng)用11-08

JAVA認(rèn)證開源技術(shù):關(guān)于Java的對象equals方法05-14

如何傳輸Java對象10-10

Java內(nèi)存溢出的類型10-07

Java面向?qū)ο笤O(shè)計的經(jīng)驗原則10-12

Java標(biāo)準(zhǔn)類庫中類型怎么相互轉(zhuǎn)化10-08