我在一个方法(具有@Transactional(propagation = Propagation.Required))中插入数据,但是在另一种方法(具有@Transactional(propagation = Propagation.Required))中插入数据,如果我尝试获取相同的数据,则将其赋予null。

两种方法都使用@Transactional (rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)写入服务层

如何获取插入到同一事务中的数据。
就像是 :-

 @Service
    public class Service{
        @Transactional
        public void method(){
            mapper.insert();        //insert to DB(Using Mapper interface)
            ServiceLayer.method2()
        }
    }

@Service
public void ServiceLayer{

    @Transactional
    public static void method2(){
        result  = mapper.select() //Select inserted data - returning null
    }
}

最佳答案

为了保留对当前会话所做的更改,您可以调用entityManager.flush();

10-08 12:46