@Transactional回滚异常
今天调试的时候出了个问题,搜了半天没有找到解决方案:
代码如下:
try {
GameRecord newRecord = new GameRecord(phaseCode, clientComParam.getUserId());
gameRecordDao.save(newRecord);
logger.info("Check QR Code successfully");
} catch (Exception e) {
if(e.getClass().equals(DataIntegrityViolationException.class)){
serverComParam.setContentCode(ResponseCode.CONT_DUPLICATE_PHASE_CODE.getCode());
serverComParam.setContentDesc(ResponseCode.CONT_DUPLICATE_PHASE_CODE.getErrorMsg());
logger.warn("/checkQRCode, [Error]: Phase duplicated.");
return JSON.toJSONString(serverComParam);
}else {
throw e;
}
}
按照我的理解,方法中的异常如果被try catch到了,并且没有重新作为runtimeException被抛出,事物就检测不到这个异常所以也不会回滚?但是debug的时候运行到加粗的return语句就报错说:
Could not commit JPA transaction; nested exception is javax.persistence.RollbackException: Transaction marked as rollbackOnly,...
各位大佬。。这是什么原因?return语句会影响transaction检查异常吗
代码如下:
try {
GameRecord newRecord = new GameRecord(phaseCode, clientComParam.getUserId());
gameRecordDao.save(newRecord);
logger.info("Check QR Code successfully");
} catch (Exception e) {
if(e.getClass().equals(DataIntegrityViolationException.class)){
serverComParam.setContentCode(ResponseCode.CONT_DUPLICATE_PHASE_CODE.getCode());
serverComParam.setContentDesc(ResponseCode.CONT_DUPLICATE_PHASE_CODE.getErrorMsg());
logger.warn("/checkQRCode, [Error]: Phase duplicated.");
return JSON.toJSONString(serverComParam);
}else {
throw e;
}
}
按照我的理解,方法中的异常如果被try catch到了,并且没有重新作为runtimeException被抛出,事物就检测不到这个异常所以也不会回滚?但是debug的时候运行到加粗的return语句就报错说:
Could not commit JPA transaction; nested exception is javax.persistence.RollbackException: Transaction marked as rollbackOnly,...
各位大佬。。这是什么原因?return语句会影响transaction检查异常吗
...全文
相关推荐
SpringBoot事务使用及回滚实现代码详解
主要介绍了SpringBoot事务使用及回滚实现代码详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
浅谈Spring中@Transactional事务回滚及示例(附源码)
本篇文章主要介绍了浅谈Spring中@Transactional事务回滚及示例(附源码),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Spring @Transactional注解失效解决方案
主要介绍了Spring @Transactional注解失效解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
springboot中事务管理@Transactional的注意事项与使用场景
今天小编就为大家分享一篇关于springboot中事务管理@Transactional的注意事项与使用场景,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
Spring中的@Transactional事物回滚实例源码
Spring中的@Transactional事物回滚实例源码


