NutzCN Logo
问答 事务不回滚,用Atom就回滚,不知什么原因
发布于 2247天前 作者 naxxm 1860 次浏览 复制 上一个帖子 下一个帖子
标签:
@At("/saveOrder")
	@AdaptBy(type = JsonAdaptor.class)
	@Ok("json")
	@Aop(TransAop.READ_COMMITTED)
	public JSONResult saveOrder(@Param("..") final JSONObject params) {

		return Trans.exec(new Molecule<JSONResult>() { // User是返回值的类型
					@Override
					public void run() {
						// TODO 自动生成的方法存根
						try {
							JSONObject sy1Data = params.getJSONObject("sy1Data");
							JSONObject sy2Data = params.getJSONObject("sy2Data");
							JSONObject commissionData = params.getJSONObject("commissionData");

							dataService.save(sy1Data, Sy1.class);
							dataService.save(sy2Data, Sy2.class);
							dataService.save(commissionData, Commission.class);
							setObj(JSONResult.ok());
						} catch (Exception e) {
							setObj(JSONResult.errorException(e.getMessage())); // 设置返回值
						}
					}
				});
	}
7 回复

异常被catch就不会回滚的

@wendal 不catch的话,如何获取回滚的信息,返回给前端告知保存失败呢?

在service层加aop注解,在action中调用并catch

@wendal 是不是只能在实现imp层添加事务,并且此处的dao操作还得用atom包一层,然后,在action层用Molecule包好后调用并catch,这个逻辑对不对?

@wendal 在service层直接添加aop的话,不成功测试,在serviceImp添加aop倒是可以

仔细看我上一个回复

都是说实现类。。 接口加啥都没用。。。

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