Pelo que entendi pelo vídeo, no método atualizar, foi criado um novo objeto e salvo no banco em um registro de um id ja existente, pensei em fazer da seguinte forma, está correto?
public void atualizar(Scanner scanner) {
System.out.println("Informe o ID do Cargo que deseja atualizar");
Integer id = scanner.nextInt();
System.out.println("Informe o novo cargo");
String descricao = scanner.next();
Optional<Cargo> optional = cargoRepository.findById(id);
if (optional.isPresent()) {
Cargo cargo = optional.get();
cargo.setDescricao(descricao);
cargoRepository.save(cargo);
System.out.println("Atualizado");
} else {
optional.orElseThrow(() -> new RuntimeException("Cargo de ID " + id + " não localizado"));
}
}