java中事務的嵌套:
TransactionManager.beginTransaction();//事務1
A(); //調(diào)用方法A
TransactionManager.commitTransaction();
方法A
A(){
TransactionManager.beginTransaction();//事務2
TransactionManager.commitTransaction[color=#FF0000]();//此處事務的提交是否把事務1一起提交了?事務的嵌套是不是就近原則?[/color]
}
事我們的項目分好幾個工程,務1本身是一個工程內(nèi)地,事務2是在另外一個工程內(nèi),考試大提示由于事務1內(nèi)的dao操作完了后需要調(diào)用事務2的方法,而事務2的方法是公用內(nèi)必須有事務的開始和提交,且事務2的方法在事務1的方法內(nèi)調(diào)用了兩次。如下面的源代碼:
Java code
A(){
TransactionManager.beginTransaction();//事務2
TransactionManager.commitTransaction[color=#FF0000]();//此處事務的提交是否把事務1一起提交了?事務的嵌套是不是就近原則?[/color]
TransactionManager.beginTransaction();//事務2第二此調(diào)用
TransactionManager.commitTransaction[color=#FF0000]();//此處事務的提交是否把事務1一起提交了?事務的嵌套是不是就近原則?[/color]
}
事務2的第一次調(diào)用若沒有提交,會造成鎖表。
這種情況下,我該怎么設(shè)計?
比較郁悶。我自己感覺說的都比較亂。
事務2的工程我是打成jar,放到事務1的工程內(nèi),讓事務1的工程調(diào)用地。
TransactionManager.beginTransaction();//事務1
A(); //調(diào)用方法A
TransactionManager.commitTransaction();
方法A
A(){
TransactionManager.beginTransaction();//事務2
TransactionManager.commitTransaction[color=#FF0000]();//此處事務的提交是否把事務1一起提交了?事務的嵌套是不是就近原則?[/color]
}
事我們的項目分好幾個工程,務1本身是一個工程內(nèi)地,事務2是在另外一個工程內(nèi),考試大提示由于事務1內(nèi)的dao操作完了后需要調(diào)用事務2的方法,而事務2的方法是公用內(nèi)必須有事務的開始和提交,且事務2的方法在事務1的方法內(nèi)調(diào)用了兩次。如下面的源代碼:
Java code
A(){
TransactionManager.beginTransaction();//事務2
TransactionManager.commitTransaction[color=#FF0000]();//此處事務的提交是否把事務1一起提交了?事務的嵌套是不是就近原則?[/color]
TransactionManager.beginTransaction();//事務2第二此調(diào)用
TransactionManager.commitTransaction[color=#FF0000]();//此處事務的提交是否把事務1一起提交了?事務的嵌套是不是就近原則?[/color]
}
事務2的第一次調(diào)用若沒有提交,會造成鎖表。
這種情況下,我該怎么設(shè)計?
比較郁悶。我自己感覺說的都比較亂。
事務2的工程我是打成jar,放到事務1的工程內(nèi),讓事務1的工程調(diào)用地。