我在一个方法(具有@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();