Parece que Jackson foi customizado para serializar o campo id da string de uma maneira especial. Isso provavelmente faz parte da integração com
org.bson
biblioteca. O problema é que seu desserializador é parametrizado pelo
ObjectId
digite em vez de String
ou Object
simples . Tente alterá-lo da seguinte maneira e remova também o @ObjectId
anotação da declaração do campo. Aqui está um exemplo:public class ObjectIdSerializer extends JsonSerializer<Object> {
@Override
public void serialize(Object value, JsonGenerator jsonGen,SerializerProvider provider) throws IOException {
jsonGen.writeString(value.toString());
}
}
Você também pode adotar a classe de provedor Jackson-Jongo para corrigir a serialização do ID do objeto para todas as classes.