首頁>技術>

在MyBatis-Plus配置了多資料來源的情況下,使用@Transactional註解啟動事務後,會導致@DS註解失效。

具體場景如下:

AEntityMapper.java

 @DS("db_a") public interface AEntityMapper extends BaseMapper<AEntity> {      void getByName(@Param("name")String name);  }

BEntityMapper.java

 @DS("db_b") public interface BEntityMapper extends BaseMapper<BEntity> {      void getByName(@Param("name")String name);  }

BEntityServiceImpl.java

 public class AEntityServiceImpl extends ServiceImpl<AEntityMapper, AEntity> implements IAEntityService {      @Resource     private IBEntityService bEntityService;          @Transactional(rollbackFor={Exception.class})     @Override     public void getFromBEntity(String name){         bEntityService.getByName(name);     } } 

在呼叫getFromBEntity方法時,會報錯:db_a.b_entity不存在,需要將@Transactional註解刪掉,再次測試後可以查出資料

6
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • leetcode565_go_陣列巢狀