我在spring MVC的服务层有两个方法。在一种方法中,当我的记录未找到时,我用自己的理由抛出ObjectNotFoundExcetion。我从第一种方法调用此方法。在第一种方法中,我已经为它声明了try catch并且还有其他代码。但是一旦我得到ObjectNotFoundException,整个事务就会回滚。因此我无法进行进一步处理。为什么交易在服务层回滚?
public void foo() {
try {
boo();
} catch(ObjectNotFoundException e) {
}
// further code.
}
public void boo() throws ObjectNotFoundException
{
if () {
} else {
throw new ObjectNotFoundException("Record not found");
}
}