關于Spring的事務學習,我覺得klyuan有一篇文章介紹的很不錯:http://www.javaeye.com/topic/78674。從這篇文章里,我弄清楚了臟讀,幻讀等概念。
Spring的默認事務隔離級別ISOLATION_DEFAULT 是ISOLATION_READ_COMMITTED 提交讀;默認事務傳播行為是PROPAGATION_REQUIRED,如果存在一個事務,則支持當前事務。如果沒有事務則開啟一個新的事務。
這里有個很有意思的事情,想和大家一起分享一下。
Class Sample{
private int id;
private String name;
//setters and getters
}

Class A {
public void functionA(Sample sample){
//事務處理,更新sample
}
}

class B {
public void functionB(List samples){
//事務處理,遍歷samples,調用A的functionA方法
}
}
代碼我就不詳細的寫出來了,大致的意思大家也應該能看明白,事務的隔離級別和傳播行為都是默認的。調用B的functionB方法,大家覺得會出現什么問題?
--EOF--
Spring in action 第二版
轉自我的javaeye:http://littlez.javaeye.com/admin/blogs/254980
Spring的默認事務隔離級別ISOLATION_DEFAULT 是ISOLATION_READ_COMMITTED 提交讀;默認事務傳播行為是PROPAGATION_REQUIRED,如果存在一個事務,則支持當前事務。如果沒有事務則開啟一個新的事務。
這里有個很有意思的事情,想和大家一起分享一下。

















代碼我就不詳細的寫出來了,大致的意思大家也應該能看明白,事務的隔離級別和傳播行為都是默認的。調用B的functionB方法,大家覺得會出現什么問題?
--EOF--
Spring in action 第二版
轉自我的javaeye:http://littlez.javaeye.com/admin/blogs/254980