在ConstraintViolationException之后,Spring Boot事务未回滚

时间:2018-07-23 08:56:39

标签: sql-server hibernate spring-boot transactions

我有一个带有Hibernate 5(1.5.7.RELEASE)和JPA的Spring Boot应用程序(版本5.2.12.Final)。我在服务中执行了保存操作,该操作失败,错误为javax.validation.ConstraintViolationException。但是,我看到数据已保存在我的数据库中,尽管事实并非如此。我的数据库是SQL Server,代码如下:

@Transactional(rollbackFor = Exception.class)
public Offer saveOfferInDB(Offer offer) {
  try {
        Offer savedOffer = offerRepository.save(offer);
        offerRepository.flush();
        return savedOffer;
    } catch (Exception e) {
        LOG.error("Could not Save offer.", e);
        throw new DataNotSavedException(true);
    }
 }

DataNotSavedException类是扩展RuntimeException的自定义异常。为什么不执行任何回滚的任何想法?

0 个答案:

没有答案