Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Neste caso não poderia verificar se há o registro no banco de dados e caso haja, alterar os dados existentes?

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"));
        }
    }
1 resposta
solução!

Olá Thales, tudo bem com você?

Perfeito, Thales! Pode fazer dessa forma sem problemas! :D

Na prática, o resultado é o mesmo. Inclusive, quando eu fiz essa aula, eu também fiz dessa forma recuperando o cargo através do findById() para depois poder fazer uso dos métodos do Optional! ;)

Se tiver alguma dúvida é só avisar! Forte abraço e bons estudos!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software