事务没有生效

@Override
public void apiImplMethod(CommonRequest<Long> commonRequest){
Long id = commonRequest.getRequestData();
test02(id);
}

@Transactional
public void test02(Long id){
GoodsSkuPo goodsSku = new GoodsSkuPo();
goodsSku.setInventory(123321);
goodsSku.setGoodsNo("0181222");
goodsSkuRepository.insertSelective(goodsSku);
System.out.println(goodsSku);
Long aa = id % 2;
if (aa == 0) {
aa = 10 / aa;
}
}

注意:apiImplMethod上没有 Transactional注解,这时事务不会生效
因为spring事务使用的是aop,aop使用的是动态代理,动态代理要求一个类必须有个接口
这个 test02 方法并没有接口,所以事务不生效,将 Transactional 加到接口实现方法上即可

posted @ 2019-07-05 11:31  为爱奋斗不息  阅读(421)  评论(0编辑  收藏  举报