关于jfinal的事务问题

发布于 2021-11-30 03:19:41 字数 1116 浏览 831 评论 9

@Jfinal

@Before({Tx.class,DbDesignLogInterceptor.class})
public void add() {
try {
TblInfo tblInfo = getModel(TblInfo.class);
Employe employe = AccountHelper.getEmploye(getRequest());
tblInfo.setCreator(employe.getNick());
tblInfo.setLastModifier(employe.getNick());
tblInfo.setLastModifyTime(new Date());
tblInfo.setCreated(new Date());
tblInfo.save();
long tblId = tblInfo.getId();
FieldInfo fieldInfo = getModel(FieldInfo.class);
fieldInfo.setFieldNameCn("主键");
fieldInfo.setTblId(tblId);
fieldInfo.setCreated(new Date());
fieldInfo.setCreator(employe.getNick());
fieldInfo.setLastModifier(employe.getNick());
fieldInfo.setLastModifyTime(new Date());
fieldInfo.save();
render(MgrJsonRender.success());
} catch (Exception e) {
log.error("添加表信息失败!", e);
render(MgrJsonRender.error());
}
}

如上代码 我的controller中有两个model 同时保存 第二个model保存失败 按理说第一个model应该事务回滚,但第一个model仍然保存成功,请问这个问题怎么解决 ,不能用jfinal的声明事务吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

尐偏执 2021-12-01 23:45:14

我说的是aop事务的回滚机制,而不是数据库的全部事务。

夜血缘 2021-12-01 23:44:02

回复
我也觉得aop的事物回滚,特定情况下问题很大.

贱贱哒 2021-12-01 23:41:29

引用来自“南湖船老大”的评论

楼主看来一直没理解AOP事务啊。

要有异常才谈得上事务回滚,换句话来说,没有异常的话,还要事务回滚干嘛?没有异常,就表示正常喽,正常就正常喽,该干啥干啥,有啥好回滚的。很简单的一个逻辑啊

可是我不能没有你 2021-12-01 23:39:57

谢谢 我已经明白了

眉黛浅 2021-12-01 23:07:26

楼主看来一直没理解AOP事务啊。

要有异常才谈得上事务回滚,换句话来说,没有异常的话,还要事务回滚干嘛?没有异常,就表示正常喽,正常就正常喽,该干啥干啥,有啥好回滚的。很简单的一个逻辑啊

命硬 2021-12-01 22:21:06

你把异常吃了,事务的aop捕获不到异常了,自然不会回滚了

凯凯我们等你回来 2021-12-01 18:19:14

嗯 明白了 感谢
@Jfinal

简单气质女生网名 2021-12-01 16:18:39

最近公司要准备换框架 我极力推荐jfinal 已经做了两次演示 还特地做了实例项目 无奈嘴有点笨 尽力吧

能否归途做我良人 2021-12-01 15:28:56

回复
建议详细看一次 jfinal 手册,业务层 AOP 有例子可以参考,感谢支持 jfinal 发展

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文