@Transactional需要新

时间:2019-04-09 13:29:00

标签: spring-mvc

我需要持久化数据,然后根据提交的数据进行进一步处理。

这是我的代码的样子

  @Service
    public class A{

    @Autowired
    B b;

    public method A() {
     b.methodB(value);

    // do some calculation 
     b.methodC(value);
    }
}



 @Service
    public class B{

     @Autowired
     Dao dao;

    @Override
    @Transactional(propagation=Propagation.REQUIRES_NEW)
    public methodB(String value){
     dao.save(value);
    }

    @Override
    @Transactional(propagation=Propagation.REQUIRES_NEW)
    public methodC(String value){
     dao.update(value);
    }
}


 @Repository
 public class DaoImpl implement Dao{
@Override
public void saveBenefitCounter(BString value)  {
    manager.persist(value);
}

@Override
public void update(String value) {
    manager.merge(value); 

}
 }

问题是第一个数据没有提交,因为此插入数据在用于methodC方法之前没有持久化。

我可以知道为什么@Transactional(propagation = Propagation.REQUIRES_NEW)无法用于持久调用吗?

是否需要在DAO层中添加@Transactional(propagation = Propagation.REQUIRES_NEW)作为保存方法?

0 个答案:

没有答案