JFinal的声明事务问题
@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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
放到 Service 层是绝对可以的,不过要仔细看一下 jfinal 手册,其中讲到了业务层 AOP 的触发方式:控制层AOP会自动触发,而业务层AOP需要使用 enhance 或者 duang 方法对业务进行增强后才可以触发
回复
谢谢
Tx放在Service层没有执行到Tx,把Tx放在Controller中可以了。