Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Método documentHasId(...) de AlunoCodec

Boa noite.

Não entendi muito bem a lógica implementada no método documentHasId(...) da classe AlunoCodec. O professor implementou o método da seguinte maneira:

@Override
    public boolean documentHasId(Aluno aluno) {
        return aluno.getId() == null;
    }

Na documentação desse método está escrito o seguinte: Parameters: aluno the document in which to look for an _id Returns: true if the document has an _id

De acordo com a documentação, o método deveria retornar true caso exista ID. Do modo que foi implementado pelo professor, essa condição irá retornar false quando existir ID e true quando não houver.

Logo, a implementação deveria ser:

@Override
    public boolean documentHasId(Aluno aluno) {
        return aluno.getId() != null;
    }

Gostaria da opinião de um instrutor para nos orientar nessa situação.

Forte abraço.

3 respostas

Oi Thiago, confesso que fiquei um pouco confuso agora, mas acho que você está certo. Houve algum erro quando executou dessa forma?

solução!

Opa, boa tarde.

Tive problema sim. Percebi que os novos registros não estavam gerando ID. Então, mantive a implementação do professor.

Pelo visto, o método "documentHasId" deve retornar FALSE quando existe ID.

Forte abraço.

Ah, acho que o Mongo usa isso para saber se deve gerar o ID ou não. Isso poderia ter sido melhor explicado se fosse o caso, por que tem duas formas de entender esse boleano.

Pode marcar o tópico como solucionado então? Acho que seu próprio post descreve a solução.