当前,我有一个问题,在使用apoc.refactor.cloneNodesWithRelationships克隆节点后,无法获取重复的节点。 所以我的结构代码就是这样:
ObjectService:
function List<String> copyObject(param) {
objectRepository.copyUsingApoc(param); //This repo basically contains the apoc clone query & return the new cloned ids
}
function List<Object> findObjectByClonedIds(List<String> cloneIds) {
objectRepository.findObjectByCloneIds(cloneIds); //Contains normal match query with where id in
}
另一个服务:
function copy(param) {
List<String> cloneIds = objectService.copyUsingApoc(param);
List<Objects> listClonedObjects = objectService.findObjectByClonedIds(cloneIds);
.....
//Other function that process the data from listClonedObjects
.....
}
Fyi:两个服务都具有@Transactional
这里的问题是我无法获取新复制的listClonedObjects。因此,由于列表为空,当我尝试访问新克隆的文件时会出错。但是,当我没有获取数据(注释它)并让事务完成时。我可以在数据库中找到正确重复的节点。问题是在事务运行时是否可以获取新克隆的数据? 我尝试过将函数与控制器分离(假设它将去其他事务并且事务已被刷新),但是仍然无法获取数据。这种情况下有任何解决方法或解决方案吗?
谢谢