Sembra che Jackson sia stato personalizzato per serializzare il campo dell'ID della stringa in un modo speciale. Probabilmente è una parte dell'integrazione con org.bson
biblioteca.
Il problema è che il tuo deserializzatore è parametrizzato da ObjectId
digita invece di String
o semplice Object
. Prova a cambiarlo come segue e rimuovi anche @ObjectId
annotazione dalla dichiarazione sul campo. Ecco un esempio:
public class ObjectIdSerializer extends JsonSerializer<Object> {
@Override
public void serialize(Object value, JsonGenerator jsonGen,SerializerProvider provider) throws IOException {
jsonGen.writeString(value.toString());
}
}
Potresti anche considerare di adottare la classe del provider Jackson-Jongo per correggere la serializzazione dell'ID oggetto per tutte le classi.