@Override protected void beforInputSave() { logger.debug("beforInputSave..."); if (StringUtils.isNotBlank(id)) { employee = employeeService.getById(id); employee.setDepartment(null); employee.getUser().getRoles().clear(); // Set<Role> roles = employee.getRoles(); if (isEditSave()) { // 如果是修改后的保存,因为prepare到save前会执行一次Set操作(modelDriven), // 所以要在保存前将其关联的对象置空 } else { // 修改前的数据回显准备 // ids = new Long[roles.size()]; // int i = 0; // for (Role role : roles) { // ids[i++] = role.getId(); // } } } }