JFinal的声明事务问题

发布于 2021-11-29 13:45:18 字数 519 浏览 344 评论 3

@JFinal 你好,想跟你请教个问题:

我使用Tx.class想实现数据库事务回滚,不过没有成功:

@Before(Tx.class) public boolean addTicket(int tgId) {     ...     boolean r = Db.save(Ticket.getTableName(tgId), record);     ...
此业务方法中后面故意写了抛出异常的代码,前面的save操作并没有回滚。

是还需要配置什么么?另外外层Controller用了@Before({IocInterceptor.class, AuthInterceptor.class}),会不会对这个有影响?

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

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

发布评论

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

评论(3

永不分离 2021-12-01 16:56:28

放到 Service 层是绝对可以的,不过要仔细看一下 jfinal 手册,其中讲到了业务层 AOP 的触发方式:控制层AOP会自动触发,而业务层AOP需要使用 enhance 或者 duang 方法对业务进行增强后才可以触发

终陌 2021-12-01 09:51:49

回复
谢谢

酷到爆炸 2021-11-29 23:48:20

Tx放在Service层没有执行到Tx,把Tx放在Controller中可以了。

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