spring @Transactional 事务不回滚的其中一个原因

1、当出现以下代码情况时会出现@Transactional 无效,事务无法回滚,原因是当异常抛出后被function1方法捕获了,无法抛出异常。导致spring 事务无法捕获到异常。导致无法回滚。


 
public void function1()
{
try{
function2();
}catch(Exception e)
{
 
}
}
 
@Transactional
public void function2()
{
//do something
}


但是当function2()是另外一个service中的事务时,则可以调用。

你可能感兴趣的:(java开发,J2EE)