我正在我的 Play Framework 1.2.4 项目中使用无状态会话进行批处理作业。
我插入和更新行很好,但我不知道发生异常时该怎么办。这是我的代码:
try{
statelesssession.insert(someobject);
}
catch(ConstraintViolationException e) //It happens from time to time dont ask me why..
{
??????transaction.rollback();????? THATS MY CONCERN
}
finally{
transaction.commit();
}
我需要知道的是,我每 100 次插入就提交数据。我想知道,如果在即第 56 条记录中发生约束违规并且事务回滚,我是否也会丢失其他 55 条记录?
如果是,我必须在约束违反异常中做什么?还是我应该在每 1 条记录中承诺以避免这种情况?