對SPRING事務的困惑

edison87915發表於2011-11-23
對SPRING的事務控制的理解僅出於之前對資料庫中事務的理解,即將一些原子操作捆綁成一個大的原子操作,這一堆操作,要麼同時成功完成,要麼都失敗。

但是對SPRING的事務控制有一些疑惑:

1. 我的理解,從SPRING的事務管理這個稱呼上看,肯定至少對資料庫的操作(DML語句)能起到事務控制的作用,我想知道SPRING的事務控制能不能對檔案操作(比如:寫檔案)起到事務控制的作

用呢?比如某一個事務中有寫檔案的操作,假如寫入操作後發生了異常,請問能將檔案狀態回滾到寫檔案操作之前的狀態嗎。

2. 接著問題1,我想知道SPRING的事務管理,對CREATE TABLE 這種DDL語句能起到事務控制的作用嗎,(在資料庫的事務中,遇到DDL語句自動提交事務),就是說:某一個事務中假如有CREATE

TABLE操作,假如之一發生了異常,請問能將資料庫回滾到CREATE TABLE 之前的狀態嗎

3. 聯想到COMMAND模式(瞭解一點點),據說對於“需要撤消操作”的需求很是適合,比如WORD中的Ctrl+Z功能,因為COMMAND模式可以儲存各個操作步驟的狀態,可以將狀態在各個操作步驟中輪

回,感覺挺像事務控制啊。。。SPRING的事務控制也是類似於這種COMMAND模式的思想嗎?能儲存每個操作步驟的狀態資訊。這個很關鍵,我想知道SPRING所控制的事務中,為該事務儲存的狀態,粒度小

到什麼程度啊?"給一個變數賦值"這種操作,也可以被回滾嗎?

對於SPRING的事務管理沒有真正實戰過,只是看過些文章和相關配置。。。可能是比較二的問題,謝謝大師們指導!!感謝

相關文章