NutzCN Logo
精华 nutz事务回滚问题
发布于 2976天前 作者 qq_f15049f5 3004 次浏览 复制 上一个帖子 下一个帖子
标签:

// Begin transaction
Trans.exec(new Atom(){
public void run() {
dao.update(pet1);
dao.update(pet2);
}
});
// End transaction

这个
dao.update(pet1);
dao.update(pet2);
失败自动回滚么?
这里会不会报异常
如何知道这个是成功了还是回滚过了?
只能再次查询数据库么?

6 回复

如果抛出了异常,就会回滚. 如果没有抛异常, 证明SQL执行了.

@wendal 意思外面是捕获不到异常的?这个线程里出异常自动回滚对么?

那不是线程!!!!!!!!!!!!!!!!!!!!!!!!!!!!

不要看到run这个方法名就以为是新线程

来自炫酷的 NutzCN

@wendal 那如何知道是否异常回滚过呢?

run方法抛出的异常, Trans.exec会原样抛出, 抛出之前已经执行回滚.

添加回复
请先登陆
回到顶部