Na construção do Codec, a implementação de documentHasId ficou assim:
@Override
public boolean documentHasId(Aluno aluno) {
return aluno.getId() == null;
}
não deveria ser "aluno.getId() != null;"?
@Override
public boolean documentHasId(Aluno aluno) {
return aluno.getId() != null;
}