请问JFinal事务是不是这样用的??

有一个数据更新需要同时对两张表进行更新操作,如果一个失败,则回滚。我写的代码是:

public boolean addAssessment3(Assessment3 assessment3) {
    return Db.tx(() -> {
        boolean f0 = false;
        boolean f1 = Db.update("xxxxxxxxx") > 0 ? true : false;
        boolean f2 = assessment3.save();
        if (f1 && f2) {
            f0 = true;
        }
        return f0;
    });
}

然后Controller里面调用这个addAssessment3,根据返回信息进行相关操作。

现在是f1 false,f2 true也返回了true。请问我这样写对不对??

评论区

要输就输给追求

2019-11-22 11:18

代码看着没问题,建议断点调试

Didier

2019-11-22 11:54

@要输就输给追求 还是返回的true!!!囧~~~Db.update("xxx")确定就是false

doubuxingle

2019-11-22 12:15

你断点看看第9行f0是true还是false

望海

2019-11-22 15:06

第四行有问题吧

JFinal

2019-11-22 15:26

第 3、6、7、8 行代码可以去掉,最后一行改成:
return f1 & f2;

热门反馈

扫码入社