【发布时间】:2015-07-23 09:33:22
【问题描述】:
我有一个spring 方法:我在构造对象后验证实体,该对象之前是从数据库中获取的。
@Transactional(rollbackFor={ValidationException.class})
public Object approve(Command command) throws ValidationException {
Object obj = merger.mergeWithExistingobject(command); // where I am fetching object from DB with old values and construct the new object
validatorService.validate( obj ); // which throws ValidationException
return saveObject(obj);
}
但不幸的是,即使在ValidationException 被抛出之后。这些值仍然保留在数据库中。我怎样才能避免这种情况。
【问题讨论】:
-
您确定您没有在
mergeWithExistingobject中提交更改吗? -
validatorService是否处于弹簧控制之下?请张贴ValidatorService代码。 -
@Suganthan 你能提供异常日志吗?
-
@DraganBozanovic,是的,我确定。我正在从数据库中获取一个对象并更新它的新更改。
-
@PawełGłowacz 是的,它是 Spring 托管 bean
标签: java spring hibernate validation orm