当前位置: 代码迷 >> 综合 >> controller层使用@Transactional事务注解
  详细解决方案

controller层使用@Transactional事务注解

热度:63   发布时间:2024-02-06 20:19:37.0

我们都知道,@Transactional要放在service层,并且只需要放到最外层的方法上就可以了。

controller层使用@Transactional注解是无效的。但是可以在controller层方法的catch语句中增加:TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();语句,手动回滚,这样上层就无需去处理异常

	@RequestMapping(value = "/delrecord", method = {RequestMethod.GET})@Transactional(rollbackFor = Exception.class)public String delRecord(HttpServletRequest request) {try {//省略业务代码……} catch (Exception e) {log.error("操作异常",e);TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//contoller中增加事务return failure("操作失败!");}}

 

 
  相关解决方案