自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

簡單講解Hibernate flush

開發(fā) 后端
這里介紹Hibernate flush,一個持久狀態(tài)的對象是不需要update的,只要你更改了對象的值,等待Hibernate flush就自動保存到數(shù)據(jù)庫了。

在向大家詳細介紹Hibernate flush之前,首先讓大家了解下saveOrUpdateCopy,merge和update區(qū)別,然后全面介紹Hibernate flush。

saveOrUpdateCopy,merge和update區(qū)別

首先說明merge是用來代替saveOrUpdateCopy的,然后比較update和merge,update的作用上邊說了,這里說一下merge的,如果session中存在相同持久化標識(identifier)的實例,用用戶給出的對象的狀態(tài)覆蓋舊有的持久實例,如果session沒有相應(yīng)的持久實例,則嘗試從數(shù)據(jù)庫中加載,或創(chuàng)建新的持久化實例,最后返回該持久實例,用戶給出的這個對象沒有被關(guān)聯(lián)到session上,它依舊是脫管的。重點是最后一句:

當我們使用update的時候,執(zhí)行完成后,我們提供的對象A的狀態(tài)變成持久化狀態(tài),但當我們使用merge的時候,執(zhí)行完成,我們提供的對象A還是脫管狀態(tài),Hibernate或者new了一個B,或者檢索到,一個持久對象B,并把我們提供的對象A的所有的值拷貝到這個B,執(zhí)行完成后B是持久狀態(tài),而我們提供的A還是托管狀態(tài)。

flush和update區(qū)別

這兩個的區(qū)別好理解update操作的是在脫管狀態(tài)的對象,而flush是操作的在持久狀態(tài)的對象。

默認情況下,一個持久狀態(tài)的對象是不需要update的,只要你更改了對象的值,等待Hibernate flush就自動保存到數(shù)據(jù)庫了。Hibernate flush發(fā)生再幾種情況下:

1,調(diào)用某些查詢的時候

2,transaction commit的時候

3,手動調(diào)用flush的時候

lock和update區(qū)別

1.update是把一個已經(jīng)更改過的脫管狀態(tài)的對象變成持久狀態(tài)

2.lock是把一個沒有更改過的脫管狀態(tài)的對象變成持久狀態(tài)

對應(yīng)更改一個記錄的內(nèi)容,兩個的操作不同:

1.update的操作步驟是:更改脫管的對象->調(diào)用update

2.lock的操作步驟是:調(diào)用lock把對象從脫管狀態(tài)變成持久狀態(tài)——>更改持久狀態(tài)的對象的內(nèi)容——>等待flush或者手動flush

【編輯推薦】

  1. 簡單描述Hibernate單元測試
  2. 概括Hibernate多表關(guān)聯(lián)查詢
  3. 淺談Hibernate Session Factory
  4. 淺析Hibernate加載配置文件
  5. 深入剖析Hibernate核心接口
責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2009-09-29 14:03:14

Hibernate數(shù)據(jù)

2009-09-23 16:30:01

Hibernate f

2012-06-02 00:55:44

HibernateflushJava

2009-09-24 16:13:05

Hibernate S

2009-09-29 17:11:23

Hibernate T

2009-09-29 10:12:03

Hibernate A

2009-09-24 10:50:31

Hibernate主鍵

2009-09-24 18:11:56

Hibernate q

2009-09-23 15:50:21

Hibernate u

2009-09-28 11:30:53

Hibernate核心

2009-09-25 17:03:29

Hibernate是什

2009-09-24 17:11:53

Hibernate處理

2009-09-22 12:45:00

Hibernate性能

2009-09-28 15:43:42

Hibernate O

2009-09-25 10:00:47

Hibernate映射

2009-09-22 17:47:03

Hibernate s

2009-09-23 10:58:32

Hibernate T

2009-09-22 15:10:22

Hibernate映射

2009-09-28 12:57:54

Hibernate C

2009-09-24 10:06:42

Hibernate實例
點贊
收藏

51CTO技術(shù)棧公眾號