无法克隆数据

我只需要提供输入名称作为WorkflowCloneRequestDTO类中的名称,并且所有实例都需要自己复制。我正在尝试通过已存在的URL发布邮递员的姓名和ID。

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

这是控制器类:

@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);
    }
W450424694 回答:无法克隆数据

也许您应该重新考虑使用SerializationUtils.clone。这是一种慢速的数据复制方法,看起来您不需要cloneWorkflow以外的副本。

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

本文链接:https://www.f2er.com/2678360.html

大家都在问