函数 A 数据操作 1; 数据操作 2; 函数 B 数据操作 3; -> 函数 A(); 函数 C 数据操作 4; -> 函数 A();
则称,A 为 B,C 的交叉操作。如果,A,B,C 都需要保证事务性,则 A 为 B, C 的交叉事务
Nutz.Dao 的原子操作支持事务嵌套,所以你可以这么实现这三个函数:
函数 A
Trans.exec(new Atom(){
public void run(){
数据操作 1;
数据操作 2;
}
});
函数 B
Trans.exec(new Atom(){
public void run(){
数据操作 3;
-> 函数 A();
}
});
函数 C
Trans.exec(new Atom(){
public void run(){
数据操作 4;
-> 函数 A();
}
});
那么,这三个函数都是事务性的。就是说,只有最外层的事务是起作用的,被包裹的事务会“融化”在上层事务里