【问题标题】:Spring-Boot Application - @Transactional doesn't work [duplicate]Spring-Boot 应用程序 - @Transactional 不起作用[重复]
【发布时间】:2018-08-09 09:30:44
【问题描述】:

我的 Spring-Boot 应用程序有问题。 在我使用@Transactional 从我的函数中获得结果后,我试图发送通知,但@Transactional 不起作用,回滚不起作用。这是代码。

@Service
public class ParkingServiceImpl implements ParkingService {

   @Override
   public void getParkingFromBOAsyncWrapper() {
         ArrayList<BOUserParking> listUserParkingfromBO = getParkingFromBOTransaction();

        /** Send notification **/
        if(listUserParkingfromBO!=null){
             notificationService.sendNotification(listUserParkingfromBO);
        }
   }


   @Transactional
   @Override
   public ArrayList<BOUserParking> getParkingFromBOTransaction() {
              // .... insert or update on db
   }
}

【问题讨论】:

    标签: java spring spring-boot transactional


    【解决方案1】:

    如果在同一个类中调用,事务将不起作用。事务性(和类似的,例如异步)通过在调用类之间创建代理来工作。您必须从另一个类调用它才能获得事务功能。

    我会将您的 DAO 调用移至处理事务性的 RespositoryService。

    【讨论】:

      【解决方案2】:

      @Transactional注解放在DAO类方法中,而不是类中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-04-02
        • 1970-01-01
        • 2019-09-22
        • 2019-06-15
        • 2012-04-18
        • 1970-01-01
        相关资源
        最近更新 更多