【发布时间】:2016-07-29 12:08:08
【问题描述】:
我有以下代码:
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public Car prepareCar(Data data) throws CarServiceException{
Car car = null;
try {
car = carManagerBean.createCar(data);
Driver driver = createDriver();
car.setDriver(driver);
} catch (Exception e) {
LOGGER.error(e.getMessage, e);
context.setRollbackOnly();
throw new CarServiceException(e);
}
return car;
}
问题是如果try部分出现一些问题(例如SQLServerException),catch部分没有被执行,CarServiceException也没有被抛出。有人知道这段代码可能有什么问题吗?但无论如何,事务都会回滚。 只有当我移动 try-catch 块来包装方法调用时它才有效。
【问题讨论】:
标签: java hibernate ejb ejb-3.0