gpt4 book ai didi

java - 无法克隆数据

转载 作者:行者123 更新时间:2023-12-01 18:37:47 25 4
gpt4 key购买 nike

我需要将输入指定为 WorkflowCloneRequestDTO 类中的唯一名称,并且所有实例都需要由自己复制。我正在尝试通过已存在的网址发布 postman 的姓名和 ID。

但是数据不是克隆的。我不明白问题出在哪里

这是 Controller 类:

@PostMapping("{id}/duplicate")
@ResponseBody
public WorkflowViewDTO duplicateWorkFlow(@PathVariable Long id, @RequestBody @Valid WorkflowCloneRequestDTO cloneRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
throw new ControllerException(bindingResult, Constants.INPUT_VALIDATION_ERROR);
}
return workFlowService.cloneWorkflow(id, cloneRequest);
}

这是服务类:

public WorkflowViewDTO cloneWorkflow(Long id, WorkflowCloneRequestDTO workflowCloneRequestDTO) {
Workflow workflow = workflowDAO.findById(id);
if (workflow == null) throw new ServiceException(ErrorEnum.WORKFLOW_NOT_FOUND);
Workflow duplicateWorkFlow = SerializationUtils.clone(workflow);
duplicateWorkFlow.setId(null);
//duplicateWorkFlow.setId(null);
duplicateWorkFlow.setName(workflowCloneRequestDTO.getName());
duplicateWorkFlow.setIsActive(true);
duplicateWorkFlow = workflowDAO.save(duplicateWorkFlow);
return duplicateWorkFlow.getView(WorkflowViewDTO.class);
}

最佳答案

也许您应该重新考虑使用SerializationUtils.clone。这是一种复制数据的缓慢方法,而且看起来您不需要在 cloneWorkflow 之外进行复制。

如果您确实需要副本,请考虑为 Workflow 创建复制构造函数或使用 setter 和 getter 来提取必要的数据。

关于java - 无法克隆数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60002321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com