开发者社区 问答 正文

jfinal 事务 求解 400 请求报错 

@Jfinal 你好,我代码如下
@Beafor(Tx.class)
public void save(){
insert 第一张表,正常;
java代码报错,异常
insert 第二张表,正常;
}
这样第一张表数据插入进去了,是不是事务只有在数据库操作出错的时候才会回滚?

展开
收起
kun坤 2020-05-29 17:51:19 511 分享 版权
1 条回答
写回答
取消 提交回答
  • } catch (NestedTransactionHelpException e) {
    	if (conn != null) try {conn.rollback();} catch (Exception e1) {e1.printStackTrace();}
    } catch (Exception e) {
    	if (conn != null) try {conn.rollback();} catch (Exception e1) {e1.printStackTrace();}
    	throw new ActiveRecordException(e);
    }
    看了下Tx代码 ,有Exception e 会拦截所有异常,并回滚 ,你试验是什么样的。 ######回复 @红薯苗 : 加了try 能往上抛就行。######我实验是第一个表的数据添加进去了。是不是跟我在这三条语句上加了一个try。。。catch有关系######应该是要抛出 ActiveRecordException异常才行吧
    2020-05-29 17:51:25
    赞同 展开评论