jfinal 事务 求解

红薯苗 发布于 2014/07/10 21:14
阅读 253
收藏 0

@Jfinal 你好,我代码如下

@Beafor(Tx.class)

public void save(){

insert 第一张表,正常;

java代码报错,异常

insert 第二张表,正常;

}

这样第一张表数据插入进去了,是不是事务只有在数据库操作出错的时候才会回滚?

加载中
0
红星xx
红星xx
} 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 会拦截所有异常,并回滚 ,你试验是什么样的。

红星xx
红星xx
回复 @红薯苗 : 加了try 能往上抛就行。
红薯苗
红薯苗
我实验是第一个表的数据添加进去了。是不是跟我在这三条语句上加了一个try。。。catch有关系
0
giianhui
giianhui
应该是要抛出 ActiveRecordException异常才行吧
返回顶部
顶部